S7 Protokol
S7 Communication
Last updated
S7 Communication
Last updated
ProfiNET (Process Field Network) endüstriyel ethernet üzerinde veri haberleşmesi için bir endüstri standardıdır. Endüstriyel sistemler için data toplama ve ekipman kontrolü için dizayn edilmiştir. Bu standart merkezi Karlsruhe/Almanya ' da bulunan PROFIBUS & PROFINET Internatinal (PI) kuruluşu tarafından sürdürülmekte ve desteklenmektedir.
inSCADA S7 Protokolü, Siemens S7 haberleşme yeteneğine sahip cihazlar ile haberleşme kurulmasını sağlar.
S7 protokole sahip bir cihaz ile haberleşebilmek için ;
IP Address,
Port Number (Default : 102),
Rack and Slot Numbers (Default : 0 and 0),
Veri bloğu tipi, başlangıç adresi ve okunacak byte miktarı,
tanımlamalarını bilmeniz gerekir.
S7 protokolü ile cihazların farklı tip deki bellek alanlarını okuyabilir bu alanlara veri yazabilirsiniz. Bu bellek alanları ve veri blokları ;
System Information,
S7 Counters,
Analog Inputs - System Info (S7-200 Family),
Analog Outputs - System Flags (S7-200 Family),
Analog Counter Input Area (S7-200 Family),
S7 Timer Area,
Analog Counter Output Area (S7-200 family),
IEC Counters (S7-200 Family),
PE (inputs) Instance Area,
PA (outputs) Instance Area,
Marker (flags) Area,
DataBlock (Peripheral I/O) Area,
DataBlock Area,
DataBlock (local) Area,
IEC Timers (200 Family).
S7 protokolü ile cihazlardan aşağıdaki veri tiplerinde okuma ve yazma işlemleri yapabilirsiniz.
BIT,
BYTE (Unsigned 8 Bit Integer),
WORD (Unsigned 16 Bit Integer),
INT (Signed 16 Bit Integer),
DWORD (Unsigned 32 Bit Integer),
DINT (Signed 32 Bit Integer),
REAL (32 Bit Float),
DATETIME (8 Byte DATE_AND_TIME),
L REAL ( 64 Bit Float )
Şimdi inSCADA platformunda Modbus TCP protokolünün nasıl yapılandırıldığını inceleyelim.
Bir cihaza bağlanmak için öncelikle bir bağlantı oluşturmak gerekir. bknz Bağlantılar
Resim 2 de gösterildiği gibi bağlantı kurulacak cihazın ip adresi, port numarası, ProfiNET için S7 protokol'ün seçimi yapılır. rack ve slot numaraları 0 olarak atanır.
Şimdi bağlantı kuracağımız cihazı oluşturalım. bknz Cihazlar
Resim 3 de görüldüğü gibi bir önceki adımda oluşturduğumuz bağlantı ya bağlı cihaz oluşturuyoruz. Burada Name ve Scan Time girilmesi gerekli parametrelerdir.
Scan Time : cihazın tarama süresini ifade eder.
Bu adımda artık cihazdan okuyacağımız veri bloklarını oluşturuyoruz. ProfiNET protokolü ile okunabilecek veri blok tipleri yukarıda ki listede görebilirsiniz. Buradaki anlatımda bir S7-1500/1200 serisi PLC lerde en çok kullanılan veri blok tiplerinin oluşturulmasına yer verilecektir.
Yukarıda bahsi geçen iki adım tüm veri blok tipleri için değişmeyecek uygulanması gereken adımlardı.
Özellikle S7-1500 PLC ' lerde Datablock (DB) lere erişmek için PLC de bazı ek ayarlar yapılması gereklidir ve bazı kısıtlamalar vardır.
Sadece Global DB ' lere erişilebilir.
Optimize edilmiş DB erişim özelliği kapatılmalıdır.
"Full" Erişim seviyesi ve "Connection Mechanism" GET/PUT ' izin vermelidir.
Bu ayarları TIA Portal V12 ' de görelim.
“Program blokları” altındaki sol bölmeden DB'yi seçin ve Alt-Enter tuşuna basın (veya içerik menüsünde “Özellikler…” i seçin)
Optimize edilmiş blok erişimi seçeneğinin işaretini kaldırın, varsayılan olarak işaretlidir. Bakınız Resim 4.
Sol bölmedeki CPU projesini seçin ve Alt-Enter tuşuna basın (veya içerik menüsünde “Özellikler…” i seçin)
Koruma öğesinde, “Tam erişim” i seçin ve “PUT / GET… ile erişime izin ver…” seçeneğini işaretleyin. şekildeki gibi. Bakınız Resim 5.
Örneğimize başlayalım ve bir S7-1500/1200 serisi PLC içerisindeki farklı veri blok türlerine ve bellek alanlarına erişelim.
Resim 6 ' ki tanımlanmış bir DB' yi inceleyelim.
Resim 6 da TIA V15.1 tanımlanmış DB ' nin özellikleri ;
DB Number : Siyah diktörgen ile işaretlenmiş yerde görünen numara. Örneğimizdeki DB numarası 8.
Mavi diktörgen ile işaretlenmiş yerde DB' nin erişim optimizasyonu kapatılmış.
Kırmızı diktörgen ile işaretlenmiş yerde DB içerisindeki değişkenlerimizin adreslerini ve hemen sol tarafında da veri tiplerini görmekteyiz. Burada bahsi geçen veri tipleri değişkenlerimizi oluştururken kullanacağımız veri tipleridir.
Resim 7 de örnek olarak ele aldığımız 8 numaralı DB ye erişmek için inSCADA platformunda yapılması gereken tanımlamaları görmektesiniz. Önceki adımlarda oluşturmuş olduğumuz Connection ve Device ' bağlı Frame oluşturuyoruz ve resimde de görülen aşağıdaki parametreleri giriyoruz.
Start Addres : Datablock içerisinde okuyacağımız başlangıç adresi. inSCADA platformunda bir DB 'nin tamamına veya bir kısmına erişebilirsiniz. Buradaki örnekte 12 nolu adresden itibaren 192 byte (Quantity) lık bir alana erişim yapılmaktadır.
Örneğimizdeki DB' ye erişmek için S7 Type ile kısımda veri bloğu tipi olarak "Datablock (Peripheral I/O) Area" seçilmiştir. DB numarası olarak da 8 ayarlanmıştır.
Minutes Offset : Okunan değerin inSCADA tarafından üretilen zaman etiketi üzerinde işlem yapar. Varsayılan değer 0 dır. 60 ifadesi kullanılırsa, değer mevcut zaman etiketinden bir saat çıkartarak etiketlenir.
Scan Time Factor : Veri Bloğunun tarama süresini ifade eder. Bir frame' in tarama süresi ;
Fscantime = Device Scan Time x Frame Scan Time Factor' dür.