Hasan Tekin Oluşturuldu: 14 Şubat Share Oluşturuldu: 14 Şubat Merhabalar; Bir proje için direkt olarak plcden veri çekmem lazım. Pythonla coil ve single register'larda okuma ve yazma yapabiliriyoruz fakat doubleword çekemiyoruz. Aslında çekiyoruz fakat hatalı sonuç veriyor. Öğrendiklerime göre doubleword çekmek için birbirini ardına 2 wordu çekip belirli bir işleme tabi tutup birleştirme yapılması lazımmış. birkaç yöntemi kodda denedik. Fakat bir türlü bulamadık. Veri, plcnin içinde Big endian little endian gibi saklama düzenleri ile tutulyormuş ve verilerin okunma sırası plcye göre değişiyormuş. kullandığım kütüphane pyModbusTCP bir nedenden ötürü en yaygın kullanılan pymodbus kütüphanesi çalışmıyor. bana yardımcı olabilecek birileri varsa çok makbule geçer. İ iyi forumlar. Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Tural 14 Mart gönderildi Share 14 Mart gönderildi Tapsan mənə də deyərsən Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Catutigernos 12 Nisan gönderildi Share 12 Nisan gönderildi Modbus mimarisinde registerlar 16 bittir yani word ya da 16 bitlik tam sayı şeklindedir. 32 bitlik bir sayısal eğer ile uğraşıyorsanız Float, double word ya da 32 bit tam sayı ile o zaman iki register olarak çekip deidğiniz gibi endian tipine göre 16 bitten 32 bit dönüşüm sağlamanız gerekmektedir. Bu dönüşüm python programlama dilinde nasıl yapıldığına bakabilirsiniz. Daha sağlam olsun derseniz gelen modbus paketindeki data bytelarını alarak kendiniz bir dönüştürme işlemine tabi tutabilirsiniz. Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...