23 Aralık 2011 Cuma

CoDeSys Haberleşmesi

CoDeSys diğer yazılım araçları ile haberleşmek üzere iki değişik arayüz sunar.CoDeSys OPC-Server  Standart OPC  formatı ile Data alışverişi yapabilirsiniz.CoDeSys PLCHandler Thin veri arayüzü ile değişik sistem platformlarına taşıyabilirsiniz.

CoDeSys OPC-Server
Windows XP altında çalışırak ve  aşağıdaki OPC spesifikasyonları sağlar.




  • OPC Common Definitions and Interfaces Version 1.0
  • Data Access Custom Interface Standard Version 1.0
  • Data Access Custom Interface Standard Version 2.05A
  • Data Access Custom Interface Standard Version 3.0
  • Data Access Automation Interface Standard Version 2.0
  • Hierarchical browsing of variables
  •  

    OPC-Server a Genel Bakış 'a


    Microsoft  OPC1 proses verilerine standartlaştırılmış erişim veren arayüzdür.Microsoft'un COM/DCOM2 standartına dayanır,otomasyon prosesinde kontrolördeki verileri okuma ve yazma amacı için kullanılır.
    Tipik POC Client'ları operasyonel verileri görselleştirme (visualisation) ve programlardır.PLC sistemleri ve field bus kartları genellikle OPC Server ile beraber sağlanır.
    OPC Server pasif bir yardımcı program olmamasına ragmen kontrolör ve client arasındabağlantı kurulduğunda kendiliğinden başlayan bir programdır.
    Bu yüzden bir değişkenin değeri yada durumu değiştiği anda client'a haber verir.OPC de kontrolör ( item pool (birim havuzu) veya adres ) üzerinde bulunan  ve  item olarak adlandırılan tüm değişkenler ( variables) OPC Server tarafından sunulur.Item olarak adlandırılan tüm değişkenler hızlı erişim amacı ile bir data cache de tutulur.
     OPC-Server dataları guruplandırılabilir.Bu yapılırken bizim yapmamız gereken şey OPC server tarafından sağlanan umumi (public) gruplar ile Client'ın kurdukları arasında farklılaştırma sağlamaktır.

    CoDeSys V3 OPC-Server 'a Bakış


    CoDeSys OPC-Server 3 ve bir CoDeSys V3 kontrolör arasındaki haberleşme  CoDeSys Gateway-Server V3 ile etkileşir.Gateway-Server V2.3 den farklı olarak V3 Gateway-Server i Windows işletim sistemine bağımlı olmayıp kontrolör networkünde herhangi bir yerde konumlandırılabilir,embed kontrolörlerde bu geçerli değildir.
    Aşağıdaki resim  CoDeSys V3 kontrolör networkünü gösterir:

    CoDeSys V3 OPC-Server ı kullanabilmek için aşağıdaki uygulamada nesne ağacında "Symbol Configuration" nesnesini eklemek gerekir.











    "Symbol Configuration" da kullanıcı OPC_servera aktarılack değişkenleri seçer.

    Son olarak kontrolördeki veriyi aktaran CoDeSys uygulaması yaratılır.OPC-Server'a bağlanan OPC-Client erişim yetki seviyesine bağlı olarak verileri izleyebilir.

    22 Aralık 2011 Perşembe

    CoDeSys Nedir

    .

    CoDeSys  Controller Development System 'in kısaltmasıdır.CoDeSys kontroller uygulamaları için geliştirilmiş yazılım ortamıdır..IEC 61131-3 endüstri standartına uyar.CoDeSys açık kaynak çözümü olup yazılımı ücretsizdir.
    CoDeSys ilk olarak 1994 yılında Almanya Kempten daki  3S-Smart Software Solutions firması tarafından geliştirilmiştir.IEC 61131-3 de tanımlanan beş uygulama programlamasının hepsi CoDeSys geliştirme ortamında mevcut olup aşğıadakileri içerir.
    Merdiven Şema     -                    Ladder diagram (LD),
    Ardışık Fonksiyon Tabloları -      Sequential Function Charts (SFC),
    Fonksiyon Blok Şema                 Function Block Diagram (FBD),
    Yapısal Metin                              Structured Text (ST),
    Yönerge Listesi                           Instruction List (IL).
    Bunlar kullanıcıya esneklik ve karşılıklı işletim imkanları sunar.Ayrıca kontrol mühendislerine uygulama ihtiyaçlarına uyan proglama yapma imkanı verir.250 den fazla cihaz üreticisi firma Akıllı Otomasyon pazarına CoDeSys programlama arayüzü sunmaktadır.




    MODBUS TCP/IP Nedir




    MODBUS TCP/IP Modbus ailesine ait bir yan ürün olup üreticilerin imal ettikleri otomasyon supervizyon ve kontrol cihazlarında haberleşme protokolü olarak kullandıkları bir protokoldür.Intranet veya Internet ortamında TCP/IP protokollleri kullanarak Modbus mesajlaşmasıdır.Günümüzde en yaygın olarak Ethernet bağlantısı ile I/O modülleri ve gatewaylerin diğer I/O ve paneller ile haberleşmesinde karşımıza çıkar.
    MODBUS TCP/IP protokolü otomasyon standartı olarak yayımlanmış ve kabul gören bir standartdır.Standart çok az açıklamaya ihtiyaç duyar.Standart da hangi fonksiyonların otomasyon cihazlarının karşılıklı işletim - interoperability için bir değeri olduğu hangilerinin bir bavul niteliğinde olduğu aşikardır.

    Modbus da data işlemleri geleneksel olarak durumdan bağımsız olup gürültüye karşı yüksek direnimli öte yandan diğer uçta asgari iyileştirmeye ihtiyaç duyan veri iletimleridir.
    Öte yandan yazılım işlemleri, bağlantı-temelli yaklaşım gerektirir.Bu ise ayrıcalıklı bir "login" token tarafından basit değişkenler  ve Ayrık Program Path yetenekleri  ile  duplex yapıda sonuçta parçalarına ayrılana dek, Modbus Plus değişkeni üzerinden gerçeklenir.

    Modbus/TCP/IP her iki duruma sahiptir.Bağlanto protokol düzeyinde tanınır ve tek bir bağlanto birçok bağımsız işlemi üzerinde taşır.TCP/IP eş zamanlı bir çok bağlantıya izin verir,çoğu durumda   tekrar bağlanmak yada uzun süreli canlı bağlantıyı tekrar kullanmak başlatıcının tercihine bağlıdır.
    Modbus da bağlantı temelli TCP/IP protokolünün datagram temelli UDP bağlantısına tercihe edilmesinin nedeni her bir bireysel işlemin tanımlanabileceği bir bağlantıya kapatarak gözlemlenmesi,kontrol edilmesi ve client yada server uygulamalarında özel bir işlem gerektirmeksizin iptal edilebilir olmasıdır.Bu mekanzimaya netwrok performasn değişimlerinde geniş bir tolerans imkanı sağlar.Benzeri tercih WWW world wide web i geliştirenler tarfındanda yapılmış olup tekil bir işlem için en az Web sorgusunu TCP/IP yi kullanarak çok iyi bilinen port 80
    üzerinden yürütmeyi seçmişlerdir.

    21 Aralık 2011 Çarşamba

    Modbus/ASCII ve Modbus/RTU Özellikleri

     Modbus/ASCII ve  Modbus/RTU Özellikleri
    Modbus/ASCII Modbus/RTU
    Characters ASCII 0...9 and A..F Binary 0...255
    Error check LRC Longitudinal Redundancy Check CRC Cyclic Redundancy Check
    Frame start character ':' 3.5 chars silence
    Frame end characters CR/LF 3.5 chars silence
    Gaps in message 1 sec 1.5 times char length
    Start bit 1 1
    Data bits 7 8
    Parity even/odd none even/odd none
    Stop bits 1 2 1 2

    Modbus RTU ile Modbus/ASCII arasındaki farklar





    MODBUS RTU ve  MODBUS/ASCII ARASINDAKİ FARKLAR




    Seri Modbus bağlantılarında ASCII ve RTU olmak üzere iki temel ileti modu vardır.Bu iki ileti moduna göre Modbus mesajları kodlanır.ASCII formatında mesajlar okunabilir iken  RTU mesajları binary kodludur ve izlenir iken okunamazlar.RTU mesajları daha küçük boyutda olup aynı zaman aralığında daha çok data nın alışverişine imkan sağlar.Dikkat edilmesi gereken şey Modbus networkü üzerinde yer alan tüm düğümlerin (nodes) aynı iletim modunda olmasıdır,souç olarak Modbus ASCII  ve Modbus RTU birbirleri ile haberleşemez.
    MODBUS/ASCII de  mesajlar hexadecimal değerlikli encode dir,  ASCII karakterleri le tanımlanırlar.Bu encoding için kullanılan karakterler  0123456789 ve ABCDEF dir. Her bilgi byte ı için iki haberleşme byte'ı kullanılır,zira her haberleşme-byte'ı sadece hexadecimal sistemde sadece 4 bit'i tanımlar.Modbus RTU ise veri alışverişini binary formatda yapar ve data byte ı bir haberleşme byte ında kodlanır.
    Seri bağlantı üzerindeki Modbus mesajları   düz (plain) formatda yayımlanmaz.Alıcılar mesajın başlangıç ve sonunu algılayacak yapıda krugulanmıştır.Karakterler ASCII modunda iken frame i başlatır ve sonlandırır.Bir mesaj başlangıcını flag ( belirtmek) etmek için ‘:’ iki nokta üst üste işareti kullanılır.her mesaj CR/LF kombinasyonu ile sonlanır.
    Modbus RTU daha değişik bir yöntem izler,RTU da haberleşme hattındaki sessizlik boşlukları ölçülerek frame'ler oluşturulur.Her mesajdan önce en az 3.5 karakter boşluk olmalıdır.Yeni mesajlar hazırlamak için,alıcı 1.5 karakterlik boşluğu algılayınca buffer'ı temizler.Modbus/ASCII ile Modbus RTU arasındaki ana farklardan biriside,ASCII bir mesajın byte ları arasında en fazla 1 sn uzunluğunda boşluklara izin verir.Modbus RTU da sürekli akan mesajlar gönderilmelidir.


    Modbus RTU Nedir


    Modbus RTU ,Master /Slave mimarisinden  türeyen RS232 veya RS 485 seri bağlantı protokülüdür.Kullanımının kolaylığı ve güvenirliliği ile yaygın kabul gören bir protokoldür.Gerek Bina Otomasyonu ve gerekse Endüstiriyel Otomasyon uygulamalarında çok sık kullanılmaktadır.
    Modbus RTU mesajları basit 16 - bit CRC (Cyclic Reduntant Checksum ) dır.Mesajların basit oluşu uygulamanın güvenirliliğini arttıran unsurdur.Bu basitlik nedeni ile,temel 16-bit Modbus RTU register yapısı
    floating point,tablolar,ASCII text,mesaj kuyrukları (queues) ve diğer gereksiz mesajları paketleyebilir.


    Modbus uygulama katmanı (application layer ) mesajlaşma protokolüdür,network veya bus üzerindeki cihazlar arasında Master Slave haberleşme sağlar.
    OSI modelinde Modbus 7.Seviyede konumlandırılmıştır.Modbus İste/Yanıtla ( Request/Reply)  protokolü olarak tasarlanmıştır ve fonksiyon kodları ile tanımlanan servisleri sunar.
    Modbus ın fonksiyon kodları Modbus İste/Yanıtla  PDU ( Protocol Data Unit) ların elementleridir.

    Modbus uygulama veri birimini kurmak için,client 'ın Modbus işlemini başlatması gerekir.Server'a hangi eylemin yapılması gerektiğini bildiren fonksiyondur.Fonksiyon kod alanı sonrasında bir byte'a kodlanır.Sadece 1 ila 255 arasındaki kodlar geçerlidir,128 -255 arası istisnai tepkiler için ayrılmıştır.Master ,Slave 'e bir mesaj gönderdiğinde server a ne tip eylem yapacağını bildiren fonksiyon kodu'dur.



    Çoklu eylem tanımlaması için,bazı fonksiyonlara yarı-fonksiyonlar eklenmiştir.Örneğin Master bir gurup Giriş ve Çıkış a ait ON/OFF durumlarını okuyabilmelidir.Bir grup Modbus registerlarındaki veri içeriklerini Okuyup/Yazabilmelidir.Master Slave den yanıt alınca,Slave tarafından kullanılan fonksiyon kodu alanı ya bir hatasız cevap(error -free response ) veya istisna cevabı ( exception response) bildirir.Normal bir cevapta Slave normal yanıtlamada başlangıç kodunu talep eder.


    Veri Nesne Özellikleri - Data Object Properties

    Modbus RTU paketleri sadece veri gönderme amaçlıdır.Nokta adı,içeriği,birimi vs parametleri gönderme kapasitesi yoktur.Bu tip parametlerin talep edilmesi halinde BACnet,EtherNet/IP ve diğer protokollere başvurulmalıdır.
    MODBUS RTU ve diğer protokollerin karşılaştırılması

    Modbus RTU nun sınırlı imkanlarına rağmen endüstrideki kullanım yaygınlığının sebebi daha basit uygulama gerektiren bir protokol oluşu,daha aza hafıza gerektirmesidir.Modbus uygulaması için 8-bit CPU da 2Kb yer gerekir iken BACnet ve EtherNET/IP de 30-100Kb hafıza gerekir.
    MODBUS RTU ve  MODBUS TCP arasındaki fark
    MODBUS RTU ve MODBUS TCP (aynı zamanda MODBUS IP, MODBUS EtherNet, ve MODBUS TCP/IP olarakta bilinir) arasındaki en temel fark  MODBUS TCP  Ethernet Fiziki Katman (physical layer) da çalışır Modbus RTU ise bir seri bağlantı protokolüdür. Modbus TCP aynı zamanda Routing için 6 byte header kullanır.




    16 Aralık 2011 Cuma

    BACnet / IP PAD nedir

    BACnet networklerini  IP networkler üzerinde kurmak için, özel bir router BACnet/IP PAD (BACnet/Internet-Protocol Packet-Assembler-Disassembler) adı verilen Router kullanılır.IP Network üzerinden bir başka BACnet networküne erişmek için her bir BACnet networküne (yada doğrudan internete bağlamak üzere) yerleştirilir.PAD in ayrı bir fiziki cihaz olmasına gerek yoktur,bina kontrol panelinin bir parçası olarak,kontrol ğaneli üzerinde entegre vaziyetde imal edilmiş olabilir.
    PAD bir BACnet router olarak davranır.Sadece IP Internet networkü üzerinden erişilebilen uzak noktadaki BACnet networküne yönlendirilmiş bir BACnet mesajı aldığında,mesjı IP frame altında zarflar.Frame 'e ilgili BACnet networkü üzerindeki hedef PAD in IP adresini verirve IP network üzerinden frame'i gönderir.

    Alıcı PAD bir BACnet Router'in yapacağı gibi, IP frame den BACnet mesajını ayırarak mesajı yerel LAN üzerindeki hedef cihaza iletir.
     
    Mesajları yaratan ve alan BACnet cihazları mesajı dağıtmak için gereken özel işlemlerden bir haberdirler.
    PAD ler ile sanki onlar  BACnet networkü üzerindeki sıradan BACnet router ları imişçesine haberleşirler.

    PAD bağlantıları için iki konfigürasyon mevcutdur.
    Basit fiziki network bağlantısı veya tipik Ethernet network bağlantısı.
    Her iki bağlantıdada BACnet ve IP frame leri iletilir ve alınır.Birincisinde  Uzak PAD lere IP Framelerin iletilmesi için bu networke bir IP router bağlanması gerekir
    İkincisinde BACnet ve IP frameler için değişik portlar atanmıştır.IP port doğrudan IP internet networkü üzerinden BACnet networklerini bağlar.Tipik olarak PAD IP internet networkü üzerinde IP router ı olarak değil,IP kullanarak haberleşen bir cihaz olarak görünür.




    2 Aralık 2011 Cuma

    BACnet MS/TP Nedir




    BACnet MS/TP

    Master-slave/token-passing bağlantısı hala BACnet data link'i için 
    sağladığı  9.6 kbaud dan 76.8 kbaud'a kadar hız ile popülerliliğini devam ettirmektedir.
    Bacnet'in Network katmanına logical link''i kendisi sağlar. 
    ARCNET gibi MS/TP  token passing protokolünü kullanır,fakat bunu microcontroller daki seri port u kullanan yazılım ile gerçekleştirir.MS/TP çok yaygın olan 2-telli EIA-485 ( RS 485) fiziki katmanı üzerinden bağlantı oluşturur.RS 485 transrecieverları pahalı olmayan ve hemen hemen tüm kontrol panellerinde bulunan haberleşme katmanlarıdır.Çok uzun mesafelere sürüm yaparak 78.6 kbaud üst limit değerini sağlarlar.

    BACnet/Ethernet Nedir



    BACnet/Ethernet

     IEEE 802 part 3 standartının (CSMA/CD) erişim yöntemi ve fiziki katmanlar ( Pthysical Layers ) özellikleri
    artık  IEEE 802.3, isimli bir ISO standartıdır.Bu 1500 sayfalık standart tipik olarak Ethernet olarak adlandırılır.,( LLC Logical Link Control ) ile beraber, ISO 88802-2 de tanımlandığı üzere 
    10 Mbps, 100 Mbps and 1 Gbps hızlarda çalışan Data Link ( Veri Yolu ) oluşturur.Ethernet'in fiziki katmanı bir kaç bakır ve fiber seçeneğinden oluşur.
    10BASE2, 10BASE5, 10BASE-FL, 100BASE-TX, 100BASE-FX, ve 1000BASE-T gibi.Bu seçeneklerden her biri bir cihaz üzerinde  BACnet / Ethernet uyumlu olarak kombine edilebilir.Ethernet STAR topoloji,trafo-izolazyonlu transrecieverlar ile yüksek hız temin eder.
    BACnet/Ethernet ile BACnet/IP Ethernet aynı şey değildir.
    BACnet/Ethernet de LAN adreslemesi MAC ( Media Access Control) adresi ile sağlanır.MAC adresi 48-bit lik tüm dünya genelinde sadece  o cihaz üzerinde kullanılan Ethernet Çipi için kullanılan adres olup IP/Ethernet
    cihazında olmasını beklediğimiz 32 bir IPv4 adresi değildir.Tüm BAcnet data link'lerinde,Ethernet en büyük hızı sağlar.