Bu yazımda 2 adet Siemens S7-1200 PLC arasında ProfiNET haberleşmesinin nasıl yapılacağını göstereceğim.
ProfiNET haberleşmesi PLC’lerin IP’leri üzerinden yaptıkları haberleşme tipidir.
Her iş istasyonunda bir PLC olduğunu ve bu iş istasyonlarının prosesler hakkında birbirleri ile haberleşmesi gerektiğini düşünün. Bu durumda PLC’ler bir ağ sistemi ile birbirleri arasında ProfiNET ile haberleşebilirler.
Bu yazıda 2 adet S7-1200 PLC’nin haberleşmesini göstereceğim. Bu sebeple 2 PLC’nin de farklı IP’ye sahip olması gerekir. 2 PLC’ye de farklı IP atamak için bu linke tıklayarak ilgili makaleyi okuyunuz.
Öncelikle projenize 2 adet PLC ekleyin.
Bu PLC’lere farklı IP’ler verin. (Yukarıdaki makaleyi okuyarak öğrenebilirsiniz.)
Şimdi 2 PLC’nin de aynı subnet’te olduğunu belirtmemiz gerekir. “Devices & Network” sekmesinden PLC1’in ethernet portuna çift tıklayarak aşağıdaki ayarı yapın. Daha sonra aynı ayarı PLC2 için de yapın.
“Devices & Network” sekmesine tekrar 2 kez tıklayın. Aşağıdaki gibi görüntü elde etmeniz gerekir. Eğer öyle görünmüyorsa PLC1’in ethernet portuna tıklayarak, mouse’u bırakmadan PLC2’nin ethetnet portuna sürükleyin. Böylece bağlanmış olacaktır.
Gerekli bağlantı ayarlarını yaptıktan sonra artık PLC’lerimizin haberleşmesi için gerekli programları oluşturabiliriz. Programı yaparken TSEND_C ve TRCV_C komutlarından yararlanacağız. Burada TSEND_C komutu bilgiyi karşı tarafa göndermeyi sağlarken, TRCV_C komutu ise karşıdan gelen bilgiyi okumayı sağlar. Böylece 2 PLC birbiriyle haberleşir 🙂
Komutları resimde gösterilen bölümden bulabilirsiniz.
PLC’lerin birbiri ile senkron haberleşebilmesi için, default olarak gelen cycle üretici bitleri aktif edeceğiz. (Her 2 PLC’de de). Böylece gönderici ile alıcı aynı frekansta çalışacaklar ve haberleşme hatasız olacak 🙂
Aşağıdaki resimde adım numaraları ile tıklanacak yerlere tıklayarak işlemi yapabilirsiniz.
Bu işlemi her 2 PLC için de yapmayı unutmayın 🙂
Gönderici olarak PLC1’i seçtiğimizi düşünerek, PLC1’in Main bloğunu açıp TSEND_C komutunu ekleyelim.
Alıcı olarak PLC2‘yi seçtiğimizi düşünerek, PLC2’nin Main bloğunu açıp TRCV_C komutunu ekleyelim.
Bu eklemeleri yaptıktan sonra tekrar PLC1’in main bloğuna geri dönüp bir takım ayarlamalar yapacacağız.
Bu ayarlamalar hangi 2 PLC’nin birbiri ile haberleşeceğini ve hangisinin haberleşmeyi başlatacağı (Master) üzerinedir.
Resimde gösterilen ayar tuşuna tıklayın.
Ve sonra PLC1 için şu ayarları yapın.
Şimdi PLC2‘nin Main bloğuna gelin. TRECV_C komutu üzerindeki aynı ayar kutusuna basarak aşağıdaki ayarlamaları yapın.
Ve sonra PLC2 için şu ayarları yapın.
Şimdi PLC1‘deki aynı ayar yerine geri dönerek aşağıdaki gibi güncelleyin.
Ayarlamalar bitti 🙂 Artık programlamaya geçebiliriz.
PLC1’in Main bloğuna gelip TSEND_C bloğunda aşağıdaki ayarlamaları yapın.
Burada REQ kısmı gönderme isteği yapmayı sağlar. Biz önceden default cycle’ları aktif etmiştik. Burada 10 Hz’lik cycle bitini yazıyoruz. Böylece PLC 10 Hz hızında sürekli bilgi gönderecektir. (1 saniyede 10 kez)
CONT kısmına 1 yazarak haberleşmenin sürekli olacağını belirtiriz.
DATA kısmı ise gönderilecek veriyi belirttiğimiz kısımdır. Burada IB0 yazdık. Yani Input Byte 0. PLC’mizin I0.0’dan – I0.7’ye kadar olan giriş bitlerini okuyarak, anlık olarak karşıya gönderecektir. Buraya herhangi bir Byte, Word veya Double Word değeri yazabilirsiniz.(MW,MD gibi değerler)
Bu ayarlar bitti ise şimdi PLC2‘nin Main bloğuna gelip, TRECV_C bloğunda aşağıda gösterilen ayarları yapın.
EN_R ucu veri alma isteği oluşturmayı sağlar. Biz buraya M0.0 yazarak PLC’mizin 10 Hz hızında veri almasını sağladık. Çünkü gönderici PLC de 10 Hz hızında veri gönderimi yapıyor. Böylece 2 PLC senkron haberleşecektir.
DATA ucu ise alınan verinin nereye yazılacağını belirtir. Biz buraya QB0 yazdık. Yani gelen veriyi PLC’nin çıkış pinleri olan Q0.0 ile Q0.7 arasına yazacaktır.
Gönderilen ve alınan veriyi incelediğimizde, PLC1‘den verilen inputlar, PLC2‘den output olarak alınmış olacaktır 🙂
Her 2 PLC’ye de “Hardware ve Software” yüklemeyi unutmayın. Aşağıda örnek gösterdim. Bu işlemi PLC1 ve PLC2 için yapın.
İşlemi yaparken, programı hangi PLC’ye atıyorsanız ethernet kablosunun ona bağlı olmasına dikkat edin 🙂
2 PLC’ye de tek tek program attıktan sonra, ethernet kablosunu 2 PLC arasında bağlayın.
PLC1’e giriş verdikçe, verdiğiniz girişin PLC2’den çıkış olarak alındığını göreceksiniz 🙂
Çalışmalarınızda başarılar dilerim 🙂
Sorun yaşadığınız veya öğrenmek istediğiniz ek bilgiler için e-posta gönderebilirsiniz.
Çağatay KAYNAK
Elektrik-Elektronik Mühendisi
cagataykaynak@gmail.com
Bir yanıt yazın