İç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 raf / yuva 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. Raf ve yuvayı öğrenin

    S7-1200 ve S7-1500’de CPU raf 0, yuva 1’dedir. S7-300’de yuva 2’dir. S7-400’de CPU’nun takılı olduğu raf ve yuvayı 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. Raf ve yuvayı girin

    Denetçi’de Raf (0 – 7) ve Yuva (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.

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.

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ı (raf / yuva) CPU’ya ulaşıldı ama S7 oturumu açılmadı. CPU tipini, raf / yuva 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.

İlgili sayfalar

Demoyu deneyin

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