Help with Modbus RTU, RS-485, AD P2000

sparkie

Lifetime Supporting Member
Join Date
Nov 2014
Location
KS
Posts
1,139
So I have this 2-wire P2000. The total bus cable length is about 200 feet.

There are 10 stations, each station with 2 PID controllers. Each PID controller has a power switch, and each power switch also turns on an input on the PLC that determines if a task runs (IE the tank's task does not run if the PID controller isn't on).

Each task has 4 modbus read instructions, giving 36 modbus reads all together. I'm getting crazy timeouts. This seems to me to be because I am sending 36 instructions into the read queue at the same time. I've called AD tech support, and it was suggested I use automatic polling, but this yields similar results, as even if you have a 500 MS polling rate, and offset the reads by 25ms or 50ms, you still get a "wraparound" effect where the queue gets loaded back up.

I can't exactly increase the network speed, because another device on the network is limited to 9600bps N 8 1 and the configuration can not be changed (lucky me).

I was looking for some ideas on how I can control this efficiently to stop all of these timeouts, or if someone happens to have the information, the size of the queue for modbus serial in a P2000 CPU.

Thanks.
 
You can not send 36 read requests without waiting for the answers, RS-485 is half duplex, it can not send and receive at the same time due the same wire pair is used for both.

Each time you send a read request you must wait for the answer before sending the next one. .... I know it will take long at 9600 bauds
 
You can not send 36 read requests without waiting for the answers, RS-485 is half duplex, it can not send and receive at the same time due the same wire pair is used for both.

Each time you send a read request you must wait for the answer before sending the next one. .... I know it will take long at 9600 bauds

AD was supposed to have a que for this sort of thing that waits for one message to be complete before sending the next. It seems that the queue is getting full and not handling it. I'm thinking that I will have to do some explicit logic to handle all of the messages. If I just do 1 or two tanks (a total of 8 messages), it behaves fine. Any more and I start getting timeouts.
 

Similar Topics

I have 3 control panels made by an OEM, they are all identical and have a Siemens S7-1200 PLC with a Siemens CB-1241 Modbus card talking to 2...
Replies
8
Views
4,441
Hi ! Everybody ! Please..help me about communication between S7 1200 and inverter or any varispeed inverter had MODBUS support by module CM1241...
Replies
20
Views
11,018
Hi All, So, I am fairly new to PLC and am trying to learn as much as I can for my job. Currently, I am working on interfacing a PLC to a VFD to...
Replies
4
Views
2,452
I want connect MODBUS RTU device with AB ML1100 PLC to read the holding registers of MODBUS device. In RSLogix 500 I have already configured the...
Replies
13
Views
8,463
I'm trying to understand how the modbus RTU protocol works. From what I understand after reading the Modbus over serial line specification and...
Replies
15
Views
12,000
Back
Top Bottom