Ö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

HMI Haberleşme

Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

HMI Haberleşme

Mesaj gönderen amasyalı »

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
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Kullanıcı avatarı
İslam
Mesajlar: 2097
Kayıt: 05 Tem 2018, 13:55
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen İslam »

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.
istasyon.png
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen amasyalı »

Ö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.
Kullanıcı avatarı
İslam
Mesajlar: 2097
Kayıt: 05 Tem 2018, 13:55
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen İslam »

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
Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen amasyalı »

İ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.
Bizim yazdığımız makroya göre bir örnek yazabilirmisini
Kullanıcı avatarı
İslam
Mesajlar: 2097
Kayıt: 05 Tem 2018, 13:55
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen İslam »

$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.
İslam Karadeniz - Technical Support Engineer - DELTA Electronics Turkey
Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen amasyalı »

$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.
Kullanıcı avatarı
İslam
Mesajlar: 2097
Kayıt: 05 Tem 2018, 13:55
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen İslam »

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
Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen amasyalı »

İş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 ?
Kullanıcı avatarı
amasyalı
Mesajlar: 243
Kayıt: 01 May 2018, 10:06
İletişim:
Durum: Çevrimdışı

Re: HMI Haberleşme

Mesaj gönderen amasyalı »

$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 ?
Cevapla

“HMI Forum” sayfasına dön