1. Açıklama
Bu uygulama notu, WAGO CC100 kompakt kontrolöre özel olarak hazırlanmıştır. WagoAppSiemensS7Protocol Library aracılığıyla Siemens PLC (S7 1200 ve S7 1500) üzerinden veri alışverişinin gerçekleştirilmesi amaçlanmıştır.
Bu Uygulama notundan bahsedilen Codesys 3.5 yazılımını www.wago.com.tr adresinden temin edebilirsiniz. Ayrıca bu uygulama notunda bahsedilen S7_Connector_CC100_ornek.Project yazılımı için Bölge satış temsilcinizle irtibata geçebilirsiniz.
2. Kullanılan Materyaller
Kütüphane | Açıklama |
WagoAppSiemensS7Protocol | S7 PLC ile Data alışverişini sağlar |
Tablo 1: Gerekli Kütüphaneler
2.2. Kullanılan Donanımlar
Tedarikçi | Adet | Açıklama | Ürün No. |
WAGO | 1 | CC100 | 751-9301 |
Tablo 2: Cihazlar
2.3. Araçlar / Yazılımlar
Açıklama |
Codesys v3.5 – ücretsiz |
S7Connector_CC100_ornek.project |
Tablo 3: Araçlar
3. S7_Connector_CC100 – Proje Açıklaması
S7_Connector_CC100 örnek program vasıtasıyla iki adet S7 1200 PLC ile data alışverişini sağlamak mümkündür. Örnek programı Codesys3V5 yazılımı üzerinde açtığınızda Şekil-1 de görmüş olduğunuz ara yüze ulaşmış olmanız gerekmektedir.
Proje Explorer kısmından, her bir S7 PLC için hazırlanmış S7_PRG ve S7_PRG_2 isimli Program kodlarını görmek mümkündür. Bu program kodlarının içerisinde ‘Fb_DB_ReadWrite’ fonksiyon bloğu kullanılmıştır.
4. Fb_DB_ReadWrite Fonksiyon Bloğu
Aşağıda fonksiyon bloğuna ait Input ve Output değişkenleriyle ilgili bilgiler paylaşılmıştır.
Alan | isim | Type | Açıklama |
Input | xOpen | BOOL | S7 plc haberleşme bağlantısının sağlanması |
sIP | STRING | S7 PLC IP adresi | |
wDB_Number | WORD | Haberleşme kurulacak S7 DB numarası | |
bType | BYTE | Okunacak/Yazılacak data type: 2=Byte,4=Word,6=DWORD,8=REAL | |
wOffset | WORD | DB içindeki ofset örnek: DBW4->4, 4. Byte dan itibaren okuma/yazma sağlanır | |
wCount | WORD | Okunacak/Yazılacak data miktarı | |
pWriteData | POINTER TO ARRAY [0..65535] OF BYTE | Pointer –Yazılacak data | |
xWriteDB | BOOL | ->False:Okuma yapar True:Yazma yapar | |
bTsap | BYTE | 0:=CPU,2=CP | |
Inout | xTrigger | BOOL | İşlem başlama girişi. |
aReadData | ARRAY [0..DB_MAX_DBSIZE] OF BYTE | Okunan Data | |
Output | xConnected | BOOL | Haberleşme sağlandı bilgisi |
xDone | BOOL | İşlem başarıya gerçekleşti bilgisi | |
xError | BOOL | İşlem hatalı | |
oStatus | WagoSysErrorBase.FbResult | Detaylı durum bilgisi |
5. S7 PLC Ayarları
S7 PLC tarafında da data haberleşmesinin sağlanması için bazı ayarlamaların yapılması gerekmektedir. Öncelikle haberleşmek istenen DataBlock ayarlarından ‘Optimized block access ayarının disable yapılması gerekmektedir.
İkinci olarak haberleşmek istenen PLC ayarları içerisinden ‘Permit Access with PUT/GET … ‘ ayarının enable edilmesi gerekmektedir.
S7 PLC tarafında, bu ayarlar haricinde yapılması gereken sadece haberleşmeye açılmak istenen Data Bloğun içerisine ilgili dataların tanımlanmasıdır.
6. Örnek Programın Çalıştırılması
PLC programını CC100 kontrolörümüze yükledikten sonra, WebVisu üzerinden, ayar sayfasına geçerek, haberleşmek istenilen S7 PLC’nin bilgilerinin girilmesi gerekmektedir.
Şekil 5’de görüleceği üzere haberleşmek istenen S7 PLC’nin IP adresi bu örnekte 192.168.1.20 ‘dir. İçerisinden veri okumak istediğimiz DataBlock numarası ise 10’dur. Data type kısmına 4 girerek ‘Word’ tipinde data okumak veya yazmak istediğimizi belirtiyoruz. Offset kısmına ‘0’ ve ‘R/W adet’ kısmına ‘100’ girerek, Data Block’un ilk sırasından itibaren 100 adet veriye yazma veya okuma yapılacağını tanımlamış oluyoruz.
Ayar sayfasında ki tanımlamaları yaptıktan sonra, Veri sayfasına geçerek ‘Connect’ butonuna basarak bağlantıyı gerçekleştirebiliriz. Sayfa üzerinde bulunan ‘Write’ kutucuğunu işaretleyerek ilgili Data Bloğa, ‘Yazılacak Veriler’ sütunundaki değerleri gönderebiliriz. R/W Auto butonuyla sürekli ve otomatik, veya R/W butonuyla basarak tek seferlik okuma yazma yapılması mümkündür.