Tahsin Yeter Oluşturuldu: 27 Kasım, 2021 Share Oluşturuldu: 27 Kasım, 2021 Ypmış olduğum programda 105 adet float değişkeni 315 adet integer değişkeni 430 adet bit değişkenini RS485 üzerinden TSG101E ve GLC 396T arasında haberleştirmek istiyorum. Telefon üzerinden yardım aldığımda 1024 adet operand haberleştirilebileceği söylenmişti. Bu 1024 byte mi ? yoksa değişken adeti mi? byte ise (105x4)+(315x2)+(430/8) üzerinden mi hesap yapılacak? Diğer bir sorum ise integer değer 16 bit değil mi yani 2byte değil mi ? neden adres tag ile bir integer değeri panele gönderdiğimde listede 32 bit olarak gösteriyor? Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
malikenes 27 Kasım, 2021 gönderildi Share 27 Kasım, 2021 gönderildi Tahsin Yeter, 1 saat önce yazdı: Ypmış olduğum programda 105 adet float değişkeni 315 adet integer değişkeni 430 adet bit değişkenini RS485 üzerinden TSG101E ve GLC 396T arasında haberleştirmek istiyorum. Telefon üzerinden yardım aldığımda 1024 adet operand haberleştirilebileceği söylenmişti. Bu 1024 byte mi ? yoksa değişken adeti mi? byte ise (105x4)+(315x2)+(430/8) üzerinden mi hesap yapılacak? Diğer bir sorum ise integer değer 16 bit değil mi yani 2byte değil mi ? neden adres tag ile bir integer değeri panele gönderdiğimde listede 32 bit olarak gösteriyor? Haberleştirilecek değişken sayısında bir kısıt olduğunu düşünmüyorum. Tek sayfada çokça değişken olursa verilerin tazelenmesi gecikmeli olacaktır o kadar. 8bit = 1 bayt 2 bayt = 1 word = 16 bit 2 word = 1 integer = 32 bit Bu durum ürüne göre değişmez, standarttır. Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Tavsan 27 Kasım, 2021 gönderildi Share 27 Kasım, 2021 gönderildi Tahsin Yeter, 1 saat önce yazdı: Ypmış olduğum programda 105 adet float değişkeni 315 adet integer değişkeni 430 adet bit değişkenini RS485 üzerinden TSG101E ve GLC 396T arasında haberleştirmek istiyorum. Telefon üzerinden yardım aldığımda 1024 adet operand haberleştirilebileceği söylenmişti. Bu 1024 byte mi ? yoksa değişken adeti mi? byte ise (105x4)+(315x2)+(430/8) üzerinden mi hesap yapılacak? Diğer bir sorum ise integer değer 16 bit değil mi yani 2byte değil mi ? neden adres tag ile bir integer değeri panele gönderdiğimde listede 32 bit olarak gösteriyor? Selamlar, Haberleşme için öyle bir sınırlama yok sanırım. Hafıza alanı ve özellikleri aşağıdaki görselde mevcut. Haberleşmenin daha hızlı sağlanması için haberleşmeyi ethernet portu ile sağlamanızı tavsiye ederim. Kullandığınız cihazlarda modbus tcp haberleşme mevcut. Kullandığım farklı marka PLC'lerde integer değer 16bit (-32767 ile +32767 arası tam sayı) yer tutarken GMT'de integer değer 32bit (-2147483647 ile +2147483647 arası tam sayı) yer tutmaktadır. PLC'ler dışında gördüğüm yazım dillerinde ise integer veri tipi 4byte yani 32bit yer tutuyor. Yani yazım dillerinde eğer DINT ve INT veri tipi aynı anda tanımlanmışsa INT 16bit, DINT 32bit olarak aksi durumda INT 32bit olarak gözlemledim. İyi çalışmalar Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Tahsin Yeter 27 Kasım, 2021 gönderildi Yazar Share 27 Kasım, 2021 gönderildi cevap için öncelikle çok teşekkür ederim. Gmt ten telefonla yardım aldığımda modbus için bir sınır olduğu söylendi ve bu sınırdan dolayı zaten programı küçültmeden önce bir çok değeri haberleştirememiştim. Yukarıda belirttiğim register sayıları programı küçültebileceğim son hali artık ve bu değerleri haberleştirebilecek miyim deneyip göreceğim. Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
malikenes 28 Kasım, 2021 gönderildi Share 28 Kasım, 2021 gönderildi Haberleşme yapılan bu protokoller standart olduğu için markadan bağımsızdırlar. Sınır varsa başka markalarda da vardır. 1 Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Hanifi 29 Kasım, 2021 gönderildi Share 29 Kasım, 2021 gönderildi Tahsin Yeter, 27.11.2021 - 17:58 yazdı: Ypmış olduğum programda 105 adet float değişkeni 315 adet integer değişkeni 430 adet bit değişkenini RS485 üzerinden TSG101E ve GLC 396T arasında haberleştirmek istiyorum. Telefon üzerinden yardım aldığımda 1024 adet operand haberleştirilebileceği söylenmişti. Bu 1024 byte mi ? yoksa değişken adeti mi? byte ise (105x4)+(315x2)+(430/8) üzerinden mi hesap yapılacak? Diğer bir sorum ise integer değer 16 bit değil mi yani 2byte değil mi ? neden adres tag ile bir integer değeri panele gönderdiğimde listede 32 bit olarak gösteriyor? Merhaba Data tipinden bağımsız olarak haberleşmesini aktif yapabileceğiniz değişken sayısı 1024 adettir. Word değişkenlerimiz 16 bit, Integer, Double Word ve Float değişkenlerimiz 32 bittir. Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Tahsin Yeter 29 Kasım, 2021 gönderildi Yazar Share 29 Kasım, 2021 gönderildi sorunu hallettim çok teşekkür ederim Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...
Babatopcu 21 Nisan, 2022 gönderildi Share 21 Nisan, 2022 gönderildi Merhabalar, Nasıl çözdüğünüz bilgisini verebilir misiniz? 30 Slave ve her bir Slave için 16 değişken olan programı yazıp 396R modelinde kullandığımda PLC modbus haberleşmeyi başlatmadı(Port üzerindeki veri akışını gösteren ledler çalışmadı). Kademeli olarak sayıyı düşürdüğümde 15 Slave cihazda haberleşmeyi başlattı. Bu konuda destek olacak arkadaşlar var mıdır? Alıntı Yorum bağlantısı Sitelerde Paylaş More sharing options...