Lovell
Lifetime Supporting Member
Hardware: CompactLogix L36ERM FW ver:30
I am working on a project where I need to read 25 consecutive holding registers in about 16 different locations. I am using the Rockwell Modbus TCP AOI. It only provides 5 possible transactions. I have it working.
Now I decide to hack the AOI to increase the number of transactions to meet my needs. I increased to 35 transactions changing array sizes where applicable. I connected it to my data source and it is working except for overlap and overload alarms. I adjusted the polling rate down to where it would not alarm (1200ms). So I am reading 400 integers in different locations (groups of 25). It is quite unstable and I had to add some reset logic which is working but it seems to error when the processor gets busy (like an online edit) and sometimes it seems like it is in a reset loop.
I did consider using multiple AOI's to meet my need but the server has a number of connections limitation.
My question:
Is there a better way or other logic I could use to read multiple modbus holding registers over TCP?
I am working on a project where I need to read 25 consecutive holding registers in about 16 different locations. I am using the Rockwell Modbus TCP AOI. It only provides 5 possible transactions. I have it working.
Now I decide to hack the AOI to increase the number of transactions to meet my needs. I increased to 35 transactions changing array sizes where applicable. I connected it to my data source and it is working except for overlap and overload alarms. I adjusted the polling rate down to where it would not alarm (1200ms). So I am reading 400 integers in different locations (groups of 25). It is quite unstable and I had to add some reset logic which is working but it seems to error when the processor gets busy (like an online edit) and sometimes it seems like it is in a reset loop.
I did consider using multiple AOI's to meet my need but the server has a number of connections limitation.
My question:
Is there a better way or other logic I could use to read multiple modbus holding registers over TCP?