Uzakta bulunan Delta PLC'ye connect olmak

İnternet üzerinden haberleşme sağlayacaksanız Modbus TCP
Seri port (RS232 - RS485) üzerinden haberleşme sağlayacaksanız Modbus RTU
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Dediginiz gibi başka şehirden bağlantı ise, sadece modbusyyeterli değil.

Kısa mesafede bağlanmak için ise ascii veya rtu seçebilirsiniz. Tcp için ethernet portu olan model veya ilave modül gerekli.

Plc'yi de siz programlayacaksaniz istediğinizi seçin.

Bu olmayacaksa mevcut plc programı hangi standartta ise ona uymak zorundasınız.
Ben sadece uzaktaki 7/24 çalışan Delta PLC makinasına bağlanıcam ve sadece çalışıp çalışmadığına dair 1 veya 0 değerler almak istiyorum.Bunun içinde sadece modbus yeterli değil mi ? İlave değilse ilave modül nedir ?
Yardımcı oluyorsunuz çok teşekkür ederim.
İnternet üzerinden haberleşme sağlayacaksanız Modbus TCP
Seri port (RS232 - RS485) üzerinden haberleşme sağlayacaksanız Modbus RTU
Bunu biliyordum.Daha önce seri port ile bir bağlantı gerçekleştirdim fakat bu tcp alanında çok fazla kafam karıştı.Doğru yolda mıyım diye garanti etmek istedim açıkçası.

Yinede cevaplarınızdan ötürü çok teşekkür ederim.
 
Örneğin ss, sx ,sv modellerde ethernet portu yok. Bunlar ile modbus top haberleşme mümkün değil. Sadece ascii veya rtu haberleşebilirsiniz .

Se modelinde ethernet portu var. Bu nedenle ascii rtu tcp modbus haberleşebilir.

Ethernet portu olmayan modeller için modbus tcp kullanmak isterseniz plc yanına takılarak kullanılan ethernet haberleşme modülü almanız gerekir.

Başka şehirden erişim için araya sabit ip içeren bir bilgisayar veya internet tabanlı sunucu gerekir.
 
Örneğin ss, sx ,sv modellerde ethernet portu yok. Bunlar ile modbus top haberleşme mümkün değil. Sadece ascii veya rtu haberleşebilirsiniz .

Se modelinde ethernet portu var. Bu nedenle ascii rtu tcp modbus haberleşebilir.

Ethernet portu olmayan modeller için modbus tcp kullanmak isterseniz plc yanına takılarak kullanılan ethernet haberleşme modülü almanız gerekir.

Başka şehirden erişim için araya sabit ip içeren bir bilgisayar veya internet tabanlı sunucu gerekir.
Merhabalar @huh huh desteklerinden ötürü sana minnettarım.Uzakta sabit bir ip var.10.0... ile başlayan ona bağlanabiliyorum.Tek sıkıntım 1 değerini görmek.
Bağlanabiliyorum fakat sinyal alamıyorum yani veri okuyamıyorum.
Aslında en baştan beri gerekli olan şeyde buydu.
Yardımcı olursan çok sevinicem dostum.
Şimdiden cevabın için çok teşekkür ederim.Saol.

Uzaktaki PLC MODEL : Delta DVP SE
 
Son düzenleme:
Daha fazla veri gerekli.

Nasıl bir altyapıyla bağlısınız, haberleşmede bağlı olduğunuzu nasıl teyit ettiniz, 1 değeri için plc de baktığınız alan ne, okumada kullandığınız komut ne, plc bu haberleşmeye uygun şekilde programlanmış mı? Vb.vb. vb....

Her mesajda yeni bir bilgi vermek yerine mevcutta yapılanları ve yapmak istediklerinizi tek seferde bildirseniz işler daha kolay olacak.
 
Haklısınız @huh huh, tek tek açıklamaya çalışıcam.

1.Haberleşmede bağlı olduğumu ; verilen ip ve portu ModbusClient nesnesi üzerinde parametreleri yerine koyarak(Oluşturmuş olduğum windows form yapısında) bağlanabiliyorum.Farklı bir ip il denediğimde hata veriyor.Connect olabiliyorum.

2.PLC'ye sahip olan şirketten bir log dosyası istedim.Txt dosyasında yazan adresden okumak istiyorum 1 veya 0'.Bu dosyadaki verileri aşşağıda paylaşıcam.

3.Modbus TCP/IP kullanıyorum. ReadHoldingRegister(03) kullanıyorum.

4.Haberleşmeye uygun , gelen ve giden kuralları açık.PLC tarafında herhangi bir sorun gözükmüyor.

Attıkları txt dosyasında size bir örnek göstermek istiyorum;

"G2_1","404605",Word,1,R/W,100,,,,,,,,,,"",
"G2_2","404606",Word,1,R/W,100,,,,,,,,,,"", Ben bu adresden okumak istiyorum.
"G2_3","404607",Word,1,R/W,100,,,,,,,,,,"",
"G2_4","404608",Word,1,R/W,100,,,,,,,,,,"",
"G2_5","404609",Word,1,R/W,100,,,,,,,,,,"",

Sorun bu plc adresi modbusda nasıl yazacağım.44606 oluyor fakat 404606 olmuyor.Sol shif mi yapmalıyım.Sorun sizcede bu mu ? Yaptığım uygulamada adrese 44606 yazdığımda 0 değeri geliyor.Bu bir değerin döndüğüne mi işaret yoksa null da olsa 0 mı gelir.Bu konuda bir fikriniz var mı ?

Çok teşekkür ederim.Şimdiden vereceğiniz cevap için saolun.
 
Komutunuzu, 404606 'nın Hex adres karşılığı olan 11FD adresi ile kullanın.

PC'de yazdığınız kod için bunu hex adres olarak nasıl tanımlayacağınız ise benim bilgim dışında.
 
Textbox içerisine birçok kez 4606 değeri girip beklememe rağmen pek emin olamadığım için 1 değeri gelecek mi bilemiyor programı stopluyordum.Dün iş çıkışı "Eğer 1 değeri gelirse .... " yaz diye bir koşul koydum , küçük bir işim vardı , halledip geldikten sonra birkaç defa alert geldiğini gördüm.Şimdi teste sokucam.Sanırım oldu.
Yardımlarınız ve desteğiniz için hepinize teşekkür ederim.
Özellikle başta aldığım boş yorumlardan sonra bana uzun bir süre destek çıktın teşekkürler @huh huh
 
  • Beğen
Tepkiler: huh
Gözünüz aydın.
4606 ilemi oldu?
 
4606 ve 4606'dan başlayıp verdiğim değere göre üstüne ekleyip(Örnek Quantity = 10) diğer adresleride görüyorum.
 

Forum istatistikleri

Konular
127,610
Mesajlar
911,424
Kullanıcılar
449,040
Son üye
Resul yiğit

Çevrimiçi üyeler

Geri
Üst