İçeriğe geç

Haberleşme

Siemens S7 haberleşmesi

S7-1500, S7-1200 ve S7-300 / 400 CPU’larındaki veri bloklarını, merkerleri, girişleri ve çıkışları mutlak adresle okur ve yazar.

Genel bilgi

Üç sürücü aynı protokolü kullanır: S7 iletişimi (PUT/GET) üzerinden TCP port 102. Tag’ler mutlak adresle verilir, örneğin DB1.DBX0.0 ya da MW20.

Veri bloğunda Optimize blok erişimi açıksa ya da güvenli iletişim gerekiyorsa OPC UA sürücüsünü kullanın.

Sürücü CPU Varsayılan rack / slot Not
Siemens S7-1500 S7-1500 0 / 1 Tüm veri tipleri
Siemens S7-1200 S7-1200 0 / 1 Parametre, adres ve veri tipi kümesi S7-1500 ile aynıdır
Siemens S7-300 / 400 S7-300, S7-400 S7-300: 0 / 2 SInt, LReal ve WString yoktur

PLC tarafında yapılacaklar

  1. PUT/GET erişimine izin verin

    CPU özelliklerinde uzak partnerin PUT/GET iletişimiyle erişimine izin verilmelidir. TIA Portal’da yol CPU özellikleri › Koruma ve güvenlik › Bağlantı mekanizmalarıdır; menü adları TIA sürümüne göre değişebilir. İzin kapalıysa CPU istekleri reddeder.

  2. Veri bloğunda Optimize blok erişimini kapatın

    Okuyacağınız her veri bloğunun özelliklerinde Optimize blok erişimi işaretsiz olmalı; böylece değişkenlerin bayt adresleri sabit olur. Bloğu yeniden derleyip CPU’ya yükleyin. Bit, bayt ve word adreslerini bloğun Offset kolonundan alın.

  3. Rack ve slot numarasını öğrenin

    S7-1200 ve S7-1500’de CPU rack 0, slot 1’dedir. S7-300’de slot 2’dir. S7-400’de CPU’nun takılı olduğu rack ve slot numarasını donanım yapılandırmasından alın.

  4. Ağ erişimini denetleyin

    Live bilgisayarı ile PLC aynı ağda olmalı, aradaki güvenlik duvarı TCP 102 portuna izin vermelidir.

Studio’da bağlantı kurma

  1. Bağlantı ekleyin

    Bağlantılar bölümünde Ekle’ye tıklayın ve Haberleşme sürücüsü olarak CPU’nuza uygun S7 sürücüsünü seçin.

  2. Adres ve portu girin

    IP adresi hücresine CPU’nun IP adresini yazın. Port 102 olarak kalır.

  3. Rack ve slot numarasını girin

    Denetçi’de rack (0 – 7) ve slot (0 – 31) alanlarını doldurun.

  4. Tag ekleyin

    HMI Tag’leri bölümünde bu bağlantıya bağlı tag’ler oluşturun. Adres hücresi yazarken adresi doğrular ve çözümünü hücrenin altında gösterir. Ayrıntı için HMI tag’leri sayfasına bakın.

  5. Bağlantıyı sınayın

    Çevrimiçi › Bağlantıları sına yalnızca TCP 102 portunun açık olduğunu gösterir. S7 oturumu ve PUT/GET izni Live’da tag okunurken denenir.

Adres biçimi

Örnek adresler
 DB1.DBX0.0 // Bool   DB1.DBB2 // Byte, SInt   DB1.DBW4 // Int, UInt   DB1.DBD12 // DInt, UDInt, Real   MW20 // merker alanı, word   I0.0 // giriş (E)   Q4.1 // çıkış (A)   DB1.DBX16.0 // LReal, String, WString, DateTime (başlangıç baytı)  
  • Boyut harfi tipe uymalıdır: Bool için DBX ya da M10.3, Byte ve SInt için DBB ya da MB, Int ve UInt için DBW ya da MW, DInt, UDInt ve Real için DBD ya da MD.
  • Uzun tipler (LReal, String, WString, DateTime) boyut harfi almaz. Başlangıç baytı DB1.DBX24.0 biçiminde verilir, DBB de kabul edilir. Bu tipler yalnızca veri bloğunda ve merker alanında tutulabilir.
  • Adres büyük / küçük harfe duyarlı değildir ve başında % olabilir. Giriş için E, çıkış için A yazımı da kabul edilir.

Veri tipleri

  • Bool
  • Byte
  • SInt
  • Int
  • UInt
  • DInt
  • UDInt
  • Real
  • LReal
  • String
  • WString
  • DateTime
Tip PLC’deki karşılığı
String STRING[n]: 2 bayt başlık + n karakter, Windows-1254 kodlaması. Tag’in Uzunluk alanı okunacak en çok karakterdir (varsayılan 32, en çok 254) ve PLC’deki tanımla aynı olmalıdır. PLC’deki uzunluğu aşan metin yazılamaz.
WString UTF-16, 2n + 4 bayt yer tutar.
DateTime S7-1200 / 1500’de DTL (12 bayt), S7-300 / 400’de DATE_AND_TIME (8 bayt).

S7-300 / 400 sürücüsünde SInt, LReal ve WString yoktur.

Okuma ve yazma davranışı

  • Aynı alanda en çok 32 bayt arayla duran tag’ler tek istekte okunur. Okuma, PLC’nin anlaştığı PDU boyuna göre çok değişkenli isteklere bölünür.
  • Aynı veri bloğundaki tag’leri aynı okuma döngüsüne verirseniz yük azalır.
  • Bağlantı kurulamazsa ya da kopunca sürücü 1 sn, 2 sn, 5 sn sonra, ardından 10 sn’de bir yeniden dener.
  • Yazma, okumaların arasında yapılır ve yazılan tag hemen geri okunur.
  • Çok sayıda aynı yapıdaki cihaz için Yapılar (UDT) kullanın. Taban adres (DB30, DB31 …) örnekten üye adreslerine yayılır.

Yedek PLC’ye otomatik geçiş

Aynı işi yapan iki CPU’nuz varsa tek bağlantıda ikisini de tanımlayabilirsiniz. Live iki CPU’ya da bağlanır ve okuma ile yazmayı yalnızca master olandan yapar. Master değişince ya da master’la bağlantı kopunca öbür CPU’ya kendiliğinden geçer. Tag’ler ve adresler değişmez. Bu seçenek yalnızca S7 sürücülerinde vardır.

Live’da sistem menüsünün Bağlantılar bölümü o anda hangi PLC ile konuşulduğunu yazar, örneğin “Ana PLC 192.168.0.1 (master)”. Her geçiş olay günlüğüne yazılır.

Bağlantı parametresi Anlamı
Yedek PLC (otomatik geçiş) Açılınca aşağıdaki alanlar kullanılır. Kapalıyken bağlantı tek CPU ile çalışır.
Yedek PLC IP adresi İkinci CPU’nun adresi. Port, rack ve slot ana PLC ile aynıdır; ana PLC ile aynı adres kabul edilmez.
Master bilgisi Hangi CPU’nun master olduğunun nasıl anlaşılacağı (aşağıdaki tablo).
Master bilgisi adresi Master biti için Bool (DB1.DBX0.0, M10.0), birincil CPU numarası için Int (DB1.DBW0).
Master denetim aralığı (sn) 1 – 60, varsayılan 2. Master bilgisi bu aralıkla okunur, kopuk CPU’ya arka planda yeniden bağlanılır.
Master bilgisi Nasıl çalışır
Master biti İki PLC’de aynı adresteki Bool okunur; değeri 1 olan master’dır. PLC programı biti yalnız master CPU’da 1 yapmalıdır.
Birincil CPU numarası Int değeri 1 ise ana, 2 ise yedek CPU master’dır. S7-1500R/H’de RH_GetPrimaryID çıkışı bu Int’e yazılır.
Yalnız erişilebilirlik Master bilgisi okunmaz. Ana PLC’ye ulaşılabiliyorsa ana kullanılır, ulaşılamazsa yedek. Ana PLC iki ardışık denetimde yeniden ulaşılabilir olunca ona dönülür.

Sınırlar

  • Yalnızca mutlak adres kullanılır. Sembolik adres, optimize bloklar, dizi ve yapı tipleri, Time / Date / Char tipleri ve 64 bit tam sayılar yoktur. Sembolik erişim için OPC UA sürücüsünü kullanın.
  • PLC parolası ve S7 güvenli iletişimi desteklenmez; PUT/GET düz TCP’dir.
  • CPU’nun RUN / STOP durumu okunmaz, yalnızca bağlı ya da kopuk bilgisi vardır.
  • Yedek PLC’ye geçiş otomatik testlerde benzetimli S7 sunucularıyla sınanmıştır. İki CPU’lu bir kurulumda devreye almadan önce geçişi kendi sisteminizde deneyin. İki CPU’da da PUT/GET izni açık olmalıdır.

Sık görülen hatalar

İleti Neden ve çözüm
Cihaz 2000 ms içinde yanıt vermedi Porta TCP bağlantısı kurulamıyor. IP adresini, ağı, kabloyu ve güvenlik duvarını kontrol edin.
S7 bağlantısı açılamadı (rack / slot) CPU’ya ulaşıldı ama S7 oturumu açılmadı. CPU tipini, rack / slot numarasını ve PUT/GET iznini kontrol edin.
PLC isteği reddetti CPU’da PUT/GET erişimine izin verilmemiş. Ayarı açıp CPU’ya yükleyin.
PLC erişime izin vermedi Veri bloğu optimize erişimli. Optimize erişimi kapatın ya da OPC UA sürücüsünü kullanın.
Veri bloğu PLC’de yok Adresteki DB numarası PLC’de bulunmuyor.
Adres alanın dışında Bayt adresi veri bloğunun uzunluğundan büyük.
Metin PLC’deki STRING[32] alanına sığmıyor Yazılan metin PLC’deki dizeden uzun.
Int tipi word (2 bayt) adresi ister Studio’daki adres hücresi bu iletiyi verir: boyut harfi tipe uymuyor. Int için DBW kullanın.

Sık sorulanlar

S7-1200 ve S7-1500 için ayrı sürücü seçmem gerekir mi?

Sürücü listesinde ikisi ayrı girişlerdir, ama parametre, adres ve veri tipi kümesi aynıdır. CPU’nuza uygun olanı seçin.

Optimize blok erişimli bir veri bloğunu okuyabilir miyim?

S7 sürücüsüyle okuyamazsınız, çünkü değişkenlerin bayt adresleri sabit değildir. Veri bloğunda Optimize blok erişimini kapatın ya da OPC UA sürücüsüyle sembolik adres kullanın.

Yedek PLC ile SCADA sunucu yedekliliği aynı şey mi?

Hayır. Yedek PLC, bir bağlantının iki CPU’dan master olanla konuşmasıdır. Sunucu yedekliliği ise iki Live bilgisayarının birbirini yedeklemesidir. İkisi birlikte kullanılabilir.

İlgili sayfalar

Ücretsiz deneyin

Deneme sürümünü indirin, örnek projeyi açın ve bu özelliği kendi ekranınızda görün.