1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 <2010> 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 <2010> 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Timeout errors with ASYN Modbus Driver 2.0 |
From: | David Dudley <[email protected]> |
To: | EPICS tech-talk <[email protected]> |
Date: | Mon, 11 Oct 2010 17:10:22 -0400 |
Hi David,
What version of asyn are you using?
Are these errors for input records?
How have you configured your asyn input drivers, i.e. how many polls per second? Recall that input records do not actually cause any Modbus I/O to occur, they just get the values from the most recent poll.
What timeout are you specifying in your modbusInterportConfig command? Have you tried increasing that?
Mark
From: [email protected] [mailto:[email protected]] On Behalf Of David Dudley
Sent: Monday, October 11, 2010 1:41 PM
To: EPICS tech-talk
Subject: Timeout errors with ASYN Modbus Driver 2.0
Mark,
We’re having problems with the Modbus 2 driver for ASYN
I have 2 sets of Modbus networks. One network has a single device, connected from a MOXA 5130 RS-485 converter to a Siemens S7-200 PLC. The other has the same Moxa 5130 MOXA converter with RS-485, connected to a Mirion Radiation monitor and a Apantec Radiation monitor.
Originally, I was using Modbus version 1.3 on the system with the S7-200 PLC. It worked for almost a year before upgrading to Modbus 2. After that system had been operating successfully, with no errors, for an extended period, I needed to upgrade the driver so that I could have 2 Modbus devices daisy-chained on a connection. At the same time, in order to limit the number of software revisions in the field, the S7-200 PLC network was upgraded as well.
Occasionally, we get error messages similar to the following:
-----------------------------------------------------------------------
epics> 2010/10/11 14:30:05.262 drvModbusAsyn::doModbusIO port LPDU3 error calling writeRead, error=radmon5.nsls2.bnl.gov:4001 TCP timeout: Resource temporarily unavailable, nwrite=6/6, nread=0
2010/10/11 14:30:05.262 B-725:VUV<RadMon:2a>Dosage:2 devAsynInt32 process read error
2010/10/11 14:30:05.262 B-725:VUV<RadMon:2b>Dosage:2 devAsynInt32 process read error
2010/10/11 14:30:06.262 drvModbusAsyn::doModbusIO port LPDU3 has I/O error
2010/10/11 14:34:42.310 drvModbusAsyn::doModbusIO port RM1W error calling writeRead, error=radmon5.nsls2.bnl.gov:4001 TCP timeout: Resource temporarily unavailable, nwrite=6/6, nread=0
2010/10/11 14:34:42.310 B-725:VUV<RadMon:1>Dosage:2 devAsynInt32 process read error
2010/10/11 14:34:42.387 modbusInterpose::readIt, CRC error
2010/10/11 14:34:42.387 drvModbusAsyn::doModbusIO port LPDU3 error calling writeRead, error=radmon5.nsls2.bnl.gov:4001 TCP timeout: Resource temporarily unavailable, nwrite=6/6, nread=0
2010/10/11 14:34:42.387 B-725:VUV<RadMon:2a>Dosage:2 devAsynInt32 process read error
2010/10/11 14:34:42.387 B-725:VUV<RadMon:2b>Dosage:2 devAsynInt32 process read error
2010/10/11 14:34:43.310 drvModbusAsyn::doModbusIO port RM1W has I/O error
2010/10/11 14:34:43.387 drvModbusAsyn::doModbusIO port LPDU3 has I/O error
-----------------------------------------------------------------------
This only happens occasionally, and happens on both modbus networks, at asynchronous times. All devices in the modbus chain are scanned once per second, and during the time that the errors are –not- occuring, the data stream retrieved is valid. I’ve verified that data is being transmitted, but it looks like occasionally data is not being received and processed correctly.
Oh, and also, it only happens if the IOC is using Modbus 2. Modbus 1.3 works without errors, but can only address a single device on each modbus network.
Any ideas of where to start looking?
David
Attachment:
st.cmd.zip
Description: video/flv