This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Modbus poll issue
#1
Hello,

I have 23 modbus devices which are divided to 12 modbus tcp gateway as attached.

There are 34 points for each device and timeout is 0.5, poll intervaş is 5 sec. If only one device is connected to tcp converter, I get the feedbacks in about 3-4 seconds and it is ok.

The problem is occuring if more than one device is connected to one tcp converter. I can write the commands but the feedbacks are coming too slow and it is not stable. The profile as below. Also, I get attached errors logs. What do you recommend? 

Thanks.

[Image: JFkymZ9]

[Image: vkYF2J4]
Code:
{
  "manufacturer": "Radyant",
  "description": "OPH Smart",
  "mapping": [
    { "address": 1, "read_count":34,"read_offset":0, "name": "Sistem 1 Durumu Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":1, "name": "Sistem 2 Durumu Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":2, "name": "Sistem 3 Durumu Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":3, "name": "Sistem 4 Durumu Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":4, "name": "Sensor 1 Degeri", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":5, "name": "Sensor 2 Degeri", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":6, "name": "Sistem 1 Hata Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":7, "name": "Sistem 2 Hata Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":8, "name": "Sistem 3 Hata Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":9, "name": "Sistem 4 Hata Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register","writable": false },
    { "address": 1, "read_count":34,"read_offset":10, "name": "Bolge 1 Hata Algılama Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":11, "name": "Bolge 2 Hata Algılama Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":12, "name": "Bölge 1 Modu Auto/Manuel Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":13, "name": "Bölge 2 Modu Auto/Manuel Oku ve Yaz", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":14, "name": "Sistem 1 Röle Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":15, "name": "Sistem 2 Röle Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":16, "name": "Sistem 3 Röle Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":17, "name": "Sistem 4 Röle Durumu", "datatype": "uint16", "bus_datatype": "uint8", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":18, "name": "Bölge 1 Mesai Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":19, "name": "Bölge 2 Mesai Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":20, "name": "Bölge 1 Paydos Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":21, "name": "Bölge 2 Paydos Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":22, "name": "Bölge 1 Manuel Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":23, "name": "Bölge 2 Manuel Sıcaklık Oku ve Yaz", "datatype": "int16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": true },
    { "address": 1, "read_count":34,"read_offset":24, "name": "Mesai/Paydos Durumu Bölge 1", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":25, "name": "Mesai/Paydos Durumu Bölge 2", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":26, "name": "Sistem 1 Bölge 1 Kademe", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":27, "name": "Sistem 1 Bölge 2 Kademe", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":28, "name": "Sistem 2 Bölge 1 Kademe", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":29, "name": "Sistem 2 Bölge 2 Kademe", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":30, "name": "Sistem 1 Kapasite Fark", "datatype": "uint16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":31, "name": "Sistem 2 Kapasite Fark", "datatype": "uint16", "bus_datatype": "float16", "value_multiplier":0.1, "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":32, "name": "Sistem 1 Aktif Kapasite", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false },
    { "address": 1, "read_count":34,"read_offset":33, "name": "Sistem 2 Aktif Kapasite", "datatype": "uint16", "bus_datatype": "uint16", "type": "register", "writable": false }
    ]
}
Reply
#2
Profile looks correct. Several things to try:
1. Enable persistent connection mode for each device.
2. Connect GND between gateway and all other Modbus devices on the same line.
3. Add read_delay to the profile. Start with a small value like 0.1 or 0.2 seconds.
Reply
#3
Hi admin,

1- When enabled the persistent connection, I cannot reach the devices.
2- All gnd are connected.
3- read_delay is affected slightly.

Should read_delay be different for each device on the same line? First is 0.1, second one is 0.2 etc. ?
Reply
#4
Use the same read_delay for all devices.
Reply
#5
Thanks admin
Reply


Forum Jump: