Önemli Bilgilendirme!
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
HMI Haberleşme
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
HMI Haberleşme
Konu: HMI Makro Komutlarının PLC Haberleşme Koptuğunda Çalışmaya Devam Etmesi Hakkında
Merhaba,
Bir projemizde Delta HMI panel ile bir adet PLC ve iki adet inverter arasında haberleşme kurduk. Sistem yapımız şu şekildedir:
• HMI ↔ PLC haberleşmesi: COM1(RS485 üzerinden) üzerinden (PLC Slave ID: 1)
• PLC ↔ İnverterler haberleşmesi: COM2 üzerinden RS-485 ile
o İnverter 1 → Slave ID: 2
o İnverter 2 → Slave ID: 3
İnverterleri kontrol etmek için HMI’da aşağıdaki şekilde makro komutları yazdık:
# 1. invertera ileri komutu
IF {Link1}1@M5 == ON
({Link2}2@RW-2000) = 18
ENDIF
# 1. invertera geri komutu
IF {Link1}1@M6 == ON
({Link2}2@RW-2000) = 34
ENDIF
# 1. invertera stop komutu
IF {Link1}1@M7 == ON
({Link2}2@RW-2000) = 1
ENDIF
# 2. invertera ileri komutu
IF {Link1}1@M4 == ON
({Link2}3@RW-2000) = 18
ENDIF
# 2. invertera geri komutu
IF {Link1}1@M3 == ON
({Link2}3@RW-2000) = 34
ENDIF
# 2. invertera stop komutu
IF {Link1}1@M2 == ON
({Link2}3@RW-2000) = 1
ENDIF
Yaşadığımız Sorun:
Eğer HMI ile PLC arasındaki haberleşme (COM1) kesilirse(RS485 çıkarırsak), bu makrolar kendi kendine çalışmaya devam ediyor. Bu durum kontrolsüz şekilde inverterlere komut gitmesine neden oluyor ve bizim için ciddi bir güvenlik ve sistemsel sorun oluşturuyor.
Sormak İstediğimiz:
1. HMI ile PLC arasındaki haberleşme koptuğunda, makroların çalışmasını engellemenin bir yolu var mı? Örneğin:
o PLC’den haberleşmenin sağlandığına dair bir bit (örneğin M1000 gibi) alıp, bu bit aktif değilse makroların hiçbirinin çalışmamasını sağlamak mümkün müdür?
o Haberleşme koptuğunda makro yürütmeyi durduracak bir kontrol mekanizması önerir misiniz?
2. Makro yerine tüm kontrolü PLC’ye aktarmak ve HMI üzerinden sadece buton sinyalleri göndermek (M bitleri) daha sağlıklı bir yöntem midir? Bu durumda PLC, inverterleri RS-485 üzerinden komutlarla kontrol edecek.
3. HMI tarafında yazdığımız bu makroların çalışma önceliği ya da zamanlaması hakkında bir dokümantasyon veya tavsiyeniz var mı?
Kısa Özetle:
• HMI-PLC haberleşmesi kesilince makroların kendi kendine çalışmasını engellemek istiyoruz.
• Bu durumda güvenli durma ya da hiçbir komut göndermeme gibi bir yapı oluşturmak istiyoruz.
• Gerekirse inverter kontrolünü tamamen PLC üzerinden yapmaya geçebiliriz, bu konuda da tavsiyelerinizi bekliyoruz.
Yardımcı olabilirseniz çok seviniriz.
Teşekkürler, iyi çalışmalar.
Not: konu HMI yi ilgilendirdiğini düşünerek 2,kez açılmıştır
Merhaba,
Bir projemizde Delta HMI panel ile bir adet PLC ve iki adet inverter arasında haberleşme kurduk. Sistem yapımız şu şekildedir:
• HMI ↔ PLC haberleşmesi: COM1(RS485 üzerinden) üzerinden (PLC Slave ID: 1)
• PLC ↔ İnverterler haberleşmesi: COM2 üzerinden RS-485 ile
o İnverter 1 → Slave ID: 2
o İnverter 2 → Slave ID: 3
İnverterleri kontrol etmek için HMI’da aşağıdaki şekilde makro komutları yazdık:
# 1. invertera ileri komutu
IF {Link1}1@M5 == ON
({Link2}2@RW-2000) = 18
ENDIF
# 1. invertera geri komutu
IF {Link1}1@M6 == ON
({Link2}2@RW-2000) = 34
ENDIF
# 1. invertera stop komutu
IF {Link1}1@M7 == ON
({Link2}2@RW-2000) = 1
ENDIF
# 2. invertera ileri komutu
IF {Link1}1@M4 == ON
({Link2}3@RW-2000) = 18
ENDIF
# 2. invertera geri komutu
IF {Link1}1@M3 == ON
({Link2}3@RW-2000) = 34
ENDIF
# 2. invertera stop komutu
IF {Link1}1@M2 == ON
({Link2}3@RW-2000) = 1
ENDIF
Yaşadığımız Sorun:
Eğer HMI ile PLC arasındaki haberleşme (COM1) kesilirse(RS485 çıkarırsak), bu makrolar kendi kendine çalışmaya devam ediyor. Bu durum kontrolsüz şekilde inverterlere komut gitmesine neden oluyor ve bizim için ciddi bir güvenlik ve sistemsel sorun oluşturuyor.
Sormak İstediğimiz:
1. HMI ile PLC arasındaki haberleşme koptuğunda, makroların çalışmasını engellemenin bir yolu var mı? Örneğin:
o PLC’den haberleşmenin sağlandığına dair bir bit (örneğin M1000 gibi) alıp, bu bit aktif değilse makroların hiçbirinin çalışmamasını sağlamak mümkün müdür?
o Haberleşme koptuğunda makro yürütmeyi durduracak bir kontrol mekanizması önerir misiniz?
2. Makro yerine tüm kontrolü PLC’ye aktarmak ve HMI üzerinden sadece buton sinyalleri göndermek (M bitleri) daha sağlıklı bir yöntem midir? Bu durumda PLC, inverterleri RS-485 üzerinden komutlarla kontrol edecek.
3. HMI tarafında yazdığımız bu makroların çalışma önceliği ya da zamanlaması hakkında bir dokümantasyon veya tavsiyeniz var mı?
Kısa Özetle:
• HMI-PLC haberleşmesi kesilince makroların kendi kendine çalışmasını engellemek istiyoruz.
• Bu durumda güvenli durma ya da hiçbir komut göndermeme gibi bir yapı oluşturmak istiyoruz.
• Gerekirse inverter kontrolünü tamamen PLC üzerinden yapmaya geçebiliriz, bu konuda da tavsiyelerinizi bekliyoruz.
Yardımcı olabilirseniz çok seviniriz.
Teşekkürler, iyi çalışmalar.
Not: konu HMI yi ilgilendirdiğini düşünerek 2,kez açılmıştır
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
- İslam
- Mesajlar: 2097
- Kayıt: 05 Tem 2018, 13:55
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
Merhaba,
Aşağıdaki görselden HMI tarafında seri haberleşme için istasyon adresine göre kontrol sağlayabildiğiniz ve kontrol edebildiğiniz macroları görebilirsiniz. Sürücüler HMI'da olunca doğrudan HMI ile haberleşir, PLC olunca siz HMI'dan PLC'ye komut gönderecek sonra PLC'de kendi tarama döngüsü içerisinde sürücülere sorgu atacaktır. Macrolarla ilgili Macro Komutları Dokümanı'nı inceleyebilirsiniz.
Aşağıdaki görselden HMI tarafında seri haberleşme için istasyon adresine göre kontrol sağlayabildiğiniz ve kontrol edebildiğiniz macroları görebilirsiniz. Sürücüler HMI'da olunca doğrudan HMI ile haberleşir, PLC olunca siz HMI'dan PLC'ye komut gönderecek sonra PLC'de kendi tarama döngüsü içerisinde sürücülere sorgu atacaktır. Macrolarla ilgili Macro Komutları Dokümanı'nı inceleyebilirsiniz.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
Önerdiğiniz gibi makro komutlarını kullanarak PLC'den gelen sinyale göre COM2 üzerinden sürücü bağlantısını kontrol etmeye çalıştım. Ancak denediğim makrolar beklediğim şekilde çalışmadı. Aşağıda kullandığım iki farklı denemeyi paylaşıyorum:
1. Deneme:
IF {Link1}1@M4 == OFF
STATIONON(1, 1)
ELSE
STATIONOFF(1, 1)
ENDIF
2. Deneme:
IF {Link1}1@M4 == OFF
STATIONON(2, 1)
ELSE
STATIONOFF(2, 1)
ENDIF
Yanlışımız nerede anlayamadım.
1. Deneme:
IF {Link1}1@M4 == OFF
STATIONON(1, 1)
ELSE
STATIONOFF(1, 1)
ENDIF
2. Deneme:
IF {Link1}1@M4 == OFF
STATIONON(2, 1)
ELSE
STATIONOFF(2, 1)
ENDIF
Yanlışımız nerede anlayamadım.
- İslam
- Mesajlar: 2097
- Kayıt: 05 Tem 2018, 13:55
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
Kullandığınız macrolar haberleşmeyi aktif/pasif etmeye yarıyor. PLC bağlantısının olup olmadığına bakmak için STATIONCHECK macrosunu kullanın. Geri dönüş yoksa sürücülerle ilgili aksiyonu ozaman alacak macro satırlarını yazabilirsiniz.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
Bizim yazdığımız makroya göre bir örnek yazabilirmisiniİslam yazdı: 19 Ağu 2025, 09:25 Kullandığınız macrolar haberleşmeyi aktif/pasif etmeye yarıyor. PLC bağlantısının olup olmadığına bakmak için STATIONCHECK macrosunu kullanın. Geri dönüş yoksa sürücülerle ilgili aksiyonu ozaman alacak macro satırlarını yazabilirsiniz.
- İslam
- Mesajlar: 2097
- Kayıt: 05 Tem 2018, 13:55
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
$0 = STATIONCHK(1, 1) macro satırına göre;
COM1 portuna bağlı "1" nolu istasyona sahip cihazla haberleşme varsa $0 datasının içerisi "1" olacak, haberleşme yoksa "0" olacak. Artık sonrası algoritmanız doğrultusunda sizin yazacağınız komut satırlarına bakacaktır.
COM1 portuna bağlı "1" nolu istasyona sahip cihazla haberleşme varsa $0 datasının içerisi "1" olacak, haberleşme yoksa "0" olacak. Artık sonrası algoritmanız doğrultusunda sizin yazacağınız komut satırlarına bakacaktır.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
$0 = STATIONCHK(1,1)
IF $0.0 == on
STATIONON(2, 1)
BITON ({Link1}1@Y1)
ELSE
BITON ({Link1}1@Y2)
STATIONOFF(2,1)
ENDIF
Olarak yazdım "IF $0.0 == on" Olarak denersem y2 çekili kalıyor. "IF $0.0 == OFF" Olarak denersem Y1 Çekil Kalıyor. İnvertarda ki ileri-geri- durma devam ediyor sürekli yapıyor.
IF $0.0 == on
STATIONON(2, 1)
BITON ({Link1}1@Y1)
ELSE
BITON ({Link1}1@Y2)
STATIONOFF(2,1)
ENDIF
Olarak yazdım "IF $0.0 == on" Olarak denersem y2 çekili kalıyor. "IF $0.0 == OFF" Olarak denersem Y1 Çekil Kalıyor. İnvertarda ki ileri-geri- durma devam ediyor sürekli yapıyor.
- İslam
- Mesajlar: 2097
- Kayıt: 05 Tem 2018, 13:55
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
Sadece SET şartı yazmışsınız, RESET şartını yazmadığınız sürece SET olarak kalması gayet normal.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
İşin Aslı ben komutun çalışıp çalışmadığını görmek için Y bobinlerinin çıkışlarını verdim. Komutu yazdıkdan sonra plc rs485 ucunu söktüm ve inverter ile bağlantı com2 bağlantısnı kapatamadım? nerde yanlış yapıyorum anlamadım siz bir makro yazabilirmisiniz ?
- amasyalı
- Mesajlar: 243
- Kayıt: 01 May 2018, 10:06
- İletişim:
- Durum: Çevrimdışı
Re: HMI Haberleşme
$0 = STATIONCHK(0,1)
IF $0.0 == ON
STATIONON(1,2)
BITOFF ({Link1}1@Y1)
BITON $1.0
ENDIF
IF $0.0 == OFF
STATIONOFF(1,2)
BITON ({Link1}1@Y1)
BITOFF $1.0
ENDIF
"$0 = STATIONCHK(0,1)" 0 yazdığımda com1 gördü sanırım 0 com1 1 ise com2 portunu işaret ediyor yanlışlık burada gibi geldi. Şuan sürücü ile deneyemedim fakat yarın deneyeceğim. bağlantı koptuğu an tüm saykıl makrolarını taramaya devam edermi eder ise onlara gelmeden direk bağlantıyı kapata bileceğimiz bir komut varmı yada alt makro gibi bir yere yazsak daha avantajlı olurmu ?
IF $0.0 == ON
STATIONON(1,2)
BITOFF ({Link1}1@Y1)
BITON $1.0
ENDIF
IF $0.0 == OFF
STATIONOFF(1,2)
BITON ({Link1}1@Y1)
BITOFF $1.0
ENDIF
"$0 = STATIONCHK(0,1)" 0 yazdığımda com1 gördü sanırım 0 com1 1 ise com2 portunu işaret ediyor yanlışlık burada gibi geldi. Şuan sürücü ile deneyemedim fakat yarın deneyeceğim. bağlantı koptuğu an tüm saykıl makrolarını taramaya devam edermi eder ise onlara gelmeden direk bağlantıyı kapata bileceğimiz bir komut varmı yada alt makro gibi bir yere yazsak daha avantajlı olurmu ?