Delta PLC İçin Modbus Program Yazmak.

abuzettin20 vermiş olduğunuz programı çalıştırdım. Ancak doğru çalış çalışmadığını bilmiyorum. Verdiğiniz hali ile çalıştırdığımda ilk textbox da :01050600FF00F4 yazıyor, ikinci textbox da ise :01850773 bilgisi yazıyor.
Bunlar doğru geri dönüş değerlerimi toksa hatalı bir veri mi geri dönüyor ?
Üst alandaki küçük textbox larda bulunan alanları değiştirdiğim de sonuç yine aynı :01850773 hep bu veri geliyor.
Fakat "Y0 On" ve "Y0 Off" butonlarını tıkladığımda PLC den bir ÇIT sesi geliyor ve üzerinde y0 y1 panelinde bir led yanıyor/sönüyor ...
 
Çalıştı gibi ama
:010306140008DA

Bilgisini gönderdiğimde

:01031000000000000000000000000000000000EC

bilgisini aldım.

Kataloğunda
Ornek:01 no'lu PLC'den T20~T27 bobinlerini okuma.
PC→PLC
“:01 03 06 14 00 08 DA CR LF”
PLC→PC
“:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF”
bu şekilde bir bilgi vardı.

Sanırım buda bir gelişme ! Ama henüz birşey anlamış değilim...
 
Sn.aicefire öncelikle komutları, ne anlama geldiklerini, formatın nelerden oluştuğunu iyi öğrenmeniz gerek. gerisi zaten kendiliğinden gelmiş olacaktır.

İyi çalışmalar
 
abuzettin20 öncelikle teşekkür ederim. Ürünün kataloğundan aslında oldukça araştırma yaptım. Ancak konuda yeni olunca bazı şeyleri anlamak biraz zor oluyor. Aslında yazmış olduğum değerlerin azçok ne anlama geldiğini biliyorum. Fakat bunu kendim bir türlü programlayamadım.
Sizin programınız ile ilgili olarak veri gönderirken bunu nasıl gerçekleştiriyorsunuz ?
Bu arada denemelerim sonucunda göndermiş olduğunuz program ürünün katalog bilgileri doğrultusunda cevapları doğru olarak veriyor.
Saygılarımla.
 
Sn.aicefire
ekte, size gönderdiğim küçük programın bir nebze daha gelişmişi var. (Visual Basic Kaynak koduyla beraber) fakat yoğunluktan dolayı tam olarak bitirememiştim anlıycan daha yolun başında.

bunun yanında plc-pc haberleşmesi açıklayan birde pdf dosyası var. Bir gözatın isterseniz.

İyi çalışmalar
 

Ekli dosyalar

  • DELTA PLC PROTOKOL.zip
    88 KB · Görüntüleme: 130
  • Delta_005.zip
    19.9 KB · Görüntüleme: 126
Sn. abuzettin20 teşekkür ediyorum. VB6 da yapılmış bunu projeyi inceliycem. Eğer becerebilirsem Bunu C# veya VB.NET ile gerçekleştiririm. Sonuç aldığımda sizinle çalışmamı paylaşırım.
Saygılarımla.

Bu arada eğer kodlarını vermeniz mümkünse ilk gönderdiğiniz programı ekleyebilir misiniz ?
 
Çalıştı gibi ama
:010306140008DA

Bilgisini gönderdiğimde
Burada gonderdigin sey su:
: -> baslangic karakteri
01 -> 1 nolu PLC'den...
03 -> okuma yapilacak
0614 -> 0x0614 adresinden itibaren
0008 -> 8 word (yani 8 adet 2 byte)
DA -> checksum degeri, bununla PLC gelen veriyi dogru alip almadigini kontrol ediyor


:01031000000000000000000000000000000000EC

bilgisini aldım.
Burada aldigin sey su:
: -> baslangic karakteri
01 -> 1 nolu PLC'den
03 -> okuma talebinin sonucu
10 -> hex olarak okunan byte sayisi. yani 0x10=16 byte=8 word okunmus
1. word -> 0000
2. word -> 0000
3. word -> 0000
4. word -> 0000
5. word -> 0000
6. word -> 0000
7. word -> 0000
8. word -> 0000
EC -> checksum degeri, gelen veriyi dogru alip almadigimizi kontrol etmek icin

Sende butun bobinlerin 0000 okunmasi normal, muhtemelen bu bolumlerin degerlerini degistirecek bir islem yapmamissindir. 0000'dan baska bir deger okumus olsaydin, bu degeri 1 ile and (&) islemine tabii tutup degeri ogrenebilirdin.
 
Haklısın emrah hocam. Katalogları biraz karıştırdıkdan sonra bende azçok birşeyler yerine oturmaya başladı. PLC şuan sadece benim bilgisayara bağlı. abuzettin20 beyin verdiği program katalog ile karşılaştırıldığında doğru bilgi veriyor.
Ben böyle bir forum başka biryerde görmedim açıkcası.
Herkese gönülden teşekkür ediyorum.
 
sn.aicefire
artık direksiyon sizde deponuzuda doldurduk Sn.emrah_ kardeşimle bakalım nereye kadar gideceksiniz.

Başarılar
 

Gerçektende öyle. Birgünde bu kadar Valla pes.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…