3 Eylül 2014 Çarşamba

Bina Otomasyon Sistemi Elemanları ( Ekipmanları )

Bina Otomasyonu Sisteminin ayrılmaz parçaları aşağıdaki gibi ana başlıklar altında sıralanabilir. Her binada elbette uygulamada yer alan bina servislerine göre farklılıklar olacaktır,Bina Otomasyon Sistemi bina tiplerine,mekanik sistem çözümlerine ve ısıl kapasitelere göre farklı eleman sayılarından ve kümelerinden oluşur. Bu bakımdan bina tipi aynı olsa dahi binadan binaya farklı kompozisyonlarda uygulamalar ortaya çıkar,bir binadan diğer binaya kopyala yapıştır bir uygulama pratiği söz konusu değildir Bina Otomasyon Sistemi Mimarisi 1. Yönetim Seviyesi Bu seviyede Bina Yönetim Sistemi Yazılımı ve bu yazılımın çalıştığı Bilgisayar (lar) ve çevre donanımları vardır. Haberleşme protokolü bu seviyede Ethernet / Bacnet / Modbus vd protokoller olabilir. 2. Saha Seviyesi 2.a Saha İstasyonları _ Saha Panelleri 2.a.1 I/O Modülleri 2.a.2 Haberleşme kartları / İşlemcileri / Master paneller 2.b DDC Panolar Saha Panellerine ait modüllerin ve haberleşme kartlarının yerleştirildiği saç pano. İçerisinde kablo giriş ve çıkışı için gerekli klemensler güç besleme ünitesi (leri) topraklama barası sigorta vs elektrik ekipmanlarından oluşur. 3. Saha Elemanları 3.a Sensörler 3.b Sviçler 3.c Kuru kontak bilgileri ( Röle / Termik...vs arayüz kontakları ) 4.Son kontrol elemanları 4.a Damper Servomotorları 4.b Vana Servomotorları 5. Vana gövdeleri 5.a İki Yollu Vanalar 5.b Üç Yollu Vanalar 5.c Dört Yollu Vanalar

30 Nisan 2014 Çarşamba

Network Protokolleri

Network lerde kullanılan protokollerin listesi... Bluetooth Fibre Channel network Internet Protocol Suite veya TCP/IP model yada TCP/IP stack OSI protokolleri ailesi ISO and ve ITU-T Routing protokolü IP protocol IPv4 ve IPv6 Yahoo! Messenger, RTPS protokol, karşılıklı işlem protokolü SSH Secure Shell FTP File Transfer Protocol SMTP Simple Mail Transfer Protocol Telnet Telephone Network HTTP Hyper Text Transfer Protocol HTTPs Secure Hyper Text Transfer Protocol SFTP Secure File Transfer Protocol SSL Secure Socket Layer TLS Transport Layer Security POP post office protocol E6 Ethernet globalization protocols NTP Network time protocol PPP Point to Point Protocol NNTP Network News Transfer Protocol IMAP Internet Message Access Protocol

Otomasyon Haberleşme Protokolleri

Otomasyon Sistemleri uygulandıkları alanlara göre farklı veya birkaçı ortak olan aşağıdaki haberleşme protokollerini kullanırlar. A. BİNA OTOMASYONU SİSTEMLERİ - HABERLEŞME PROTOKOLLERİ 1-Wire BACnet C-Bus DALI DSI KNX LonTalk Modbus oBIX VSCP X10 xAP xPL ZigBee B. ENDÜSTİYEL KONTROL SİSTEMLERİ - HABERLEŞME PROTOKOLLERİ AS-i BSAP CC-Link Industrial Networks CIP CAN bus ControlNet DeviceNet DF-1 DirectNET EtherCAT Ethernet Global Data (EGD) Ethernet Powerlink EtherNet/IP FINS FOUNDATION fieldbus (H1, HSE) GE SRTP HART Protocol Honeywell SDS HostLink INTERBUS MECHATROLINK MelsecNet Modbus Optomux PieP Profibus PROFINET IO SERCOS interface SERCOS III Sinec H1 SynqNet TTEthernet RAPIEnet C. GÜÇ OTOMASYONU - HABERLEŞME PROTOKOLLERİ IEC 60870 IEC 60870-5 IEC 60870-6 DNP3 IEC 61850 IEC 62351 Modbus Profibus D. SAYAÇ OKUMA - HABERLEŞME PROTOKOLLERİ ANSI C12.18 IEC 61107 DLMS/IEC 62056 M-Bus Modbus ZigBee E. ARAÇ ( TREN - METRO- OTOMOBİL) -HABERLEŞME PROTOKOLLERİ AFDX ARINC 429 ARINC 825 CAN FMS FlexRay IEBus J1587 J1708 J1939 Keyword Protocol 2000 LIN MOST NMEA 2000 VAN

2 Temmuz 2013 Salı

Modbus Hataları ( Modbus Errors )



Modbus Errors:

 

 

Modbus Faults:

 

Bir Modbus mesajı Server tarafından alındığında tüm parametreleri doğrumu diye analiz edilir.Eğer doğru ise Server bir cevap (response) yollar.Bu cevap Data içerebilir
Veya bir mesajın alındığı teyidi olabilir.
Eğer bir hata (error) var ise,Server iki şeyden birini yapabilir.Eğer mesaj hiç bir şekilde çözülemiyorsa (decode)  ( yani bir bad check sum varsa) mesaj doğrudan çöpe atılır.
Eğer mesaj çözülebiliyor ancak bir veya birkaç parametre doğru değilse ( yani olmayan bir adres için okuma girişiminde bulunulmuş ise ) server bir hata kodu (fault code)
İle cevap verecektir.
Hata kodu (fault code) basit olarak fonksiyon koduna (Function Code)128 eklenerek oluşur.
Örneğin eğer Client, function 3( Holding Register’i oku) ile bir talep te ( request ) bulunuyor ise ve bir hata içeriyorsa,server hata kodu  131 (3 + 128 = 131) verecektir.


Modbus Exceptions : Modbus İstisnaları

Hata koduna ek olarak,server neyin yanlış olduğu hakkında daha detaylı bir istisna kodu ( exception code) ile dönüş yapar.İstisna kodları her bir fonksiyon için ayrı ayrı tanımlanmıştır,ancak en yaygın kullanılan istisna fonksiyonları aşağıdakilerdir.

  • 1 = İstenilen fonksiyon kodu (command) desteklenmiyor
  • 2 = Adres doğru değil (varlığı yok).Çoklu adreslerde çalışan bu fonksiyon,requet den etkilen tüm adresler için check’i içerir.
  • 3 = Adres miktarı doğru değil.Mşktar parametresi istenen fonksiyon için çok geniş ( yada sıfır)
  •  4 = İsteğin(request) yerine getirilişi esnasında Server da bazı tanımlanamayan hatalar oluştu

Modbus Komutları veya Fonksiyonları



Modbus  Komutları “Commands” 
 veya  Modbus Fonksiyonları “Functions”


Modbus komutları functions olarak bilinir.Bir function veri tablo adresine oku yada yaz komutudur.Fonksiyonlar 1,2,3,4 vs olarak numaralandırılır.
Örneğin function “1” bir ya da daha fazla “ coil “okur.
Function “15” bir veya daha fazla “coil” e yazar.
Tüm fonsiyon kodları ( Function Codes ) Modbus Standart’ının bir parçası olarak tanımlanmıştır.ancak hangi fonksiyon un bir cihazda gerçeklendiği cihaz tasarımcısına bağlıdır.örneğin bir Vana bank’ı sadece coil yazma fonksiyonlarını yerine getiriyor olabilir çünkü o cihaz için gerekli olan sadece bu olabilir.

Aşağıda bazı ortak fonksiyonlar ( Common Functions ) listelenmiştir.Modbus protokolünde bir çok fonksiyon vardır ancak en çok karşılaşılan aşağıdakilerdir.
  • 1 -  Read multiple coils.
  • 2 -  Read multiple discrete inputs.
  • 3 -  Read multiple holding registers.
  • 4 -  Read multiple input registers.
  • 5 -  Write single coil.
  • 6 -  Write single holding register.
  • 15 - Write multiple coils.
  • 16 - Write multiple holding registers.

Quantity: ( Miktar )

Çoklu Okuma veya yazma yapan Modbus fonksiyonları için bir miktar parametresi gereklidir.Bu miktar parametresi kaç adet ardışık adresin okunup yazılacağını tayin eder.

Tek Seferde Okunup yazılabilecek Adres sayısı :

Modbus protokolü tek seferde kaç adet adresin okunup yazılabileceğini tanımlamıştır.
Bu tek komut ile transfer edilecek datayı 255 byte ile sınırlandırır.
Oku komutu için limit 2000 coil veya Discrete Input yada 125 Register dır.
Yaz komutu için limit 1968 coil,123 Register ‘dır.

Modbus Adresleri ile ilgili bazı yanlış kavramlar



Modbus Adresleri ile ilgili bazı yanlış kavramlar





Modbus standartlarına göre adresler değişik kapsamda  adreslerden oluşan coils,holding register vs olarak tanımlanan 0 dan 65,535 e kadar tamsayılardır.Buna rağmen bazı imalatçılar donanımlarında Modbus
adreslerinin gerçekte bir parçası olmayan adres ön ekleri kulanmaktadır.Bunun kaynağı Modbus Protokolü kullanan bazı PLC lerde aynı zamanda iç veri tablosunda ön ekler kullanılmasıdır:Bu durum IEC tipi PLC lerde
"I", "Q", "V" vs adres ön eklerinin kullanılması gibidir.

Öte yandan,bu ön ekler dökümantasyon için geçerli olan ancak Modbus Protokolünün gönderdiği mesajların  bir parçası olmayan ön eklerdir (prefix)
Bu ön ekler Modbus standartlarında  bir yerlerde bahsedilmiş şeylerdir.Ancak aşağıdaki örnekler dökümantasyon bazlı eski konvanda tipik kullanımı gösterir
  • 0xxxx - Coils.
  • 1xxxx - Discrete inputs.
  • 3xxxx - Input registers.
  • 4xxxx - Holding registers.
Dikkat edin  2xxxx adres ön eki yoktur.
Sayısal öneklere ek olarak bazı dökümantasyonlarda protokol adreslerine atıfta bulunulur
(0 da başlayan adresler )öte yandan diğer dökümanlar data model adreslerine atıfta bulunur ( 1 de başlayan adresler ). Bu ise ilk Holding Register ‘i 0 ve ya 1 ( 40000 e 40001 ön ek kullanımı ) yapabilir.
Öte yandan bu haberleşme hattı üzerinden Modbus mesajı olarak gideceği anlamını taşımaz.Modbus Protokol mesajı için en düşük adres her zaman “0” dır “1” değildir.
Standart Modbus Protokolünde terimler ve adresler ön ekler ve ofset ler içermez.
Sensör blokları ,vanalar ve diğer cihazlarını imalatçı kendi cihaz kataloğunda farklı şekilde belgelendirmiş olabilir.

Modbus Tablo Adresleri



Modbus Tablo Adresleri



Modbus data tablo adresleri basit tam sayılardır.Her adres tipi (discrete input,coil,input register,holding register) kendi numaralandırılmış adres setine sahiptir. Örneğin discrete input 42 ile coil 42 ayrı adreslerdir.
Modbus Protokol adresleri ile data model adreslerini birbirinden ayırır.
Protokolde kullanılan adresler 0 dan 65535 e kadar numaralandırılmıştır.Öte yandan imalatçı ( vendor)  dokümantasyonu 1 den başlayıp 65536 ya kadar numaralanmış olabilirBu dokümantasyon protokol adreslerine ( ilk adres 0 olarak ) referans verecektir.
65536 adrese sahip olmak mümkün olmasına rağmen her bir tipe ait adresler gerçekte tek bir özel cihazda gerçeklenir (Sensör bloku,vana bankı,PLC v.s) ve genelde bundan daha azdır.Her bir cihaz tasarımcısının uygulamasını neyin anlamlı kılacağına kendisi karar vermelidir.Bu yüzden bir hafıza haritası “ memory map” sağlayarak yada adres listesi vererek cihazlarındaki adreslerde neyin “gerçeklendiğini” ve her bir birinin ne yaptığını anlatmaları gerekir.

Adres tiplerine bindirme “overlay” yapmakta mümkündür.Yani, aynı fiziki hafıza adresine refere eden birden fazla değişik adres tiplerine sahip cihaz tasarlamak mümkündür.
Örneğin Holding Register 10 ile Input Register 10 ‘u aynı hafıza birimine atamak mümkündür.Bu durumda holding regsiter 10 a yazdığınız değer Input Register 10 da da görünebilecektir.Bu durum Coil ve Discrete Inputs içinde geçerlidir.
Aynı şekilde coils ve discrete inputs register da paket edilebilir.Örneğin coils 0 dan 15 e kadar Holding Register  0’da Coils 16 dan 31 ‘e Holding Register 1 ‘e ve saire.
Bu birden çok coil in  harfler “words” olarak okunması ( veya yazılmasına) müsaade eder.
Data tiplerini ve Coil Paketlerini  register lara  bindirmek mümkün olsada pratikte pek rastlanan bir durum değildir.