P-Modbusrtu 0010


Recommended Posts

This keeps showing up in my Command/Alert .....

I've tried setting offsets for each channel thinking that it was a slow response...1 sec per channel but that's not helping

 

10/25/13 20:05:47.017

P-ModbusRTU 0010: Timeout

10/25/13 20:37:38.023

P-ModbusRTU 0010: Timeout

10/25/13 20:37:39.038

P-ModbusRTU 0010: Timeout

10/25/13 20:37:40.054

P-ModbusRTU 0010: Timeout

10/25/13 20:37:41.070

P-ModbusRTU 0010: Timeout

10/25/13 20:37:46.009

P-ModbusRTU 0011: CRC Fail

10/26/13 06:04:52.005

P-ModbusRTU 0011: CRC Fail

10/26/13 06:05:47.015

P-ModbusRTU 0010: Timeout

10/26/13 06:05:48.030

P-ModbusRTU 0010: Timeout

10/26/13 06:05:49.046

P-ModbusRTU 0010: Timeout

10/26/13 06:05:50.062

P-ModbusRTU 0010: Timeout

10/26/13 06:05:51.077

P-ModbusRTU 0010: Timeout

10/26/13 06:05:52.093

P-ModbusRTU 0010: Timeout

10/26/13 06:05:53.108

P-ModbusRTU 0010: Timeout

10/26/13 06:05:54.124

P-ModbusRTU 0010: Timeout

10/26/13 06:05:55.139

P-ModbusRTU 0010: Timeout

10/26/13 06:05:56.155

P-ModbusRTU 0010: Timeout

10/26/13 06:05:57.171

P-ModbusRTU 0010: Timeout

10/26/13 06:05:58.186

P-ModbusRTU 0010: Timeout

10/26/13 06:05:59.202

P-ModbusRTU 0010: Timeout

10/26/13 06:06:00.217

P-ModbusRTU 0010: Timeout

10/26/13 06:06:01.233

P-ModbusRTU 0010: Timeout

10/26/13 06:06:06.053

P-ModbusRTU 0011: CRC Fail

10/26/13 19:57:09.001

P-ModbusRTU 0010: Timeout

10/26/13 19:57:10.002

P-ModbusRTU 0010: Timeout

10/26/13 19:57:11.003

P-ModbusRTU 0010: Timeout

10/26/13 19:57:12.003

P-ModbusRTU 0010: Timeout

10/26/13 19:57:13.004

P-ModbusRTU 0010: Timeout

10/26/13 19:57:14.005

P-ModbusRTU 0010: Timeout

10/26/13 20:07:50.001

P-ModbusRTU 0010: Timeout

10/26/13 20:07:51.002

P-ModbusRTU 0010: Timeout

10/26/13 20:07:52.003

P-ModbusRTU 0010: Timeout

10/26/13 20:07:53.004

P-ModbusRTU 0010: Timeout

10/26/13 20:07:54.005

P-ModbusRTU 0010: Timeout

10/26/13 20:07:55.005

P-ModbusRTU 0010: Timeout

10/26/13 20:07:56.006

P-ModbusRTU 0010: Timeout

10/26/13 20:07:57.007

P-ModbusRTU 0010: Timeout

10/26/13 20:07:58.008

P-ModbusRTU 0010: Timeout

10/26/13 20:07:59.009

P-ModbusRTU 0010: Timeout

10/26/13 20:08:00.010

P-ModbusRTU 0010: Timeout

10/26/13 20:08:01.011

P-ModbusRTU 0010: Timeout

10/26/13 21:07:40.003

P-ModbusRTU 0011: CRC Fail

10/27/13 05:57:14.001

P-ModbusRTU 0010: Timeout

10/27/13 05:57:15.002

P-ModbusRTU 0010: Timeout

10/27/13 05:57:16.003

P-ModbusRTU 0010: Timeout

10/27/13 05:57:17.004

P-ModbusRTU 0010: Timeout

10/27/13 05:57:18.005

P-ModbusRTU 0010: Timeout

10/27/13 05:58:08.102

P-ModbusRTU 0011: CRC Fail

10/27/13 06:07:55.001

P-ModbusRTU 0010: Timeout

10/27/13 06:07:56.002

P-ModbusRTU 0010: Timeout

10/27/13 06:07:57.003

P-ModbusRTU 0010: Timeout

10/27/13 06:07:58.004

P-ModbusRTU 0010: Timeout

10/27/13 06:07:59.004

P-ModbusRTU 0010: Timeout

10/27/13 06:08:00.005

P-ModbusRTU 0010: Timeout

10/27/13 06:08:01.006

P-ModbusRTU 0010: Timeout

10/27/13 06:08:06.052

P-ModbusRTU 0011: CRC Fail

10/27/13 06:08:10.001

P-ModbusRTU 0010: Timeout

10/27/13 06:08:11.002

P-ModbusRTU 0010: Timeout

10/27/13 06:08:12.003

P-ModbusRTU 0010: Timeout

10/27/13 06:08:13.004

P-ModbusRTU 0010: Timeout

10/27/13 06:08:14.004

P-ModbusRTU 0010: Timeout

10/27/13 06:08:15.005

P-ModbusRTU 0010: Timeout

10/27/13 06:08:16.006

P-ModbusRTU 0010: Timeout

10/27/13 06:08:17.007

P-ModbusRTU 0010: Timeout

10/27/13 06:08:18.008

P-ModbusRTU 0010: Timeout

10/27/13 06:08:19.009

P-ModbusRTU 0010: Timeout

10/27/13 06:08:20.010

P-ModbusRTU 0010: Timeout

10/27/13 06:08:21.011

P-ModbusRTU 0010: Timeout

10/27/13 06:08:26.003

P-ModbusRTU 0011: CRC Fail

10/27/13 06:45:28.002

P-ModbusRTU 0011: CRC Fail

10/27/13 06:45:36.003

P-ModbusRTU 0011: CRC Fail

 

Link to comment
Share on other sites

The fact that you have CRC failures tells me you have noise on your line.  It has nothing to do with timing.  You'll need to shield your cable, use a shorter cable (if RS232) and/or add proper termination (if RS485).  Are you getting any successful comms?  Or does everything fail?

Link to comment
Share on other sites

If you are using channels and the request fails, DAQFactory just moves on.  It will make the request again at the next timing interval.  If you want DAQFactory to retry, you have to implement it yourself in script.  

 

As for which device, you'd have to either disable devices one at a time, or simply look at the Modbus comms.  Are you using RS485?

Link to comment
Share on other sites

That's done automatically if your channels are consecutive and have the same I/O type (skip by 2 for 32 bit types of course!).  Its often beneficial to add dummy channels if you have a gap to create a bigger block.

If RS485 to mutlitple devices, you might need to add a delay between blocks.  You can do this by doing:

 

device.myDevice.setDelay(20)

 

where 20 is 20 milliseconds.  Experiment until it works reliably.  Note that this adds to every block, so will change the total polling interval.

Link to comment
Share on other sites

If that's true, then no, the Modbus standard does not support this.  In fact, I don't think its possible for any protocol to support this.  Once a device detects that the command is for it, it activates its transceiver and no other device can transmit at the same time.  This is actually why you sometimes need setDelay().  Without it, DAQFactory stacks the queries too fast for separate devices, and one device might not release its transceiver fast enough and the next command to another device is lost.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.