EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Modbus R2-8 available
From: Mark Rivers <[email protected]>
To: "[email protected]" <[email protected]>
Date: Thu, 11 Feb 2016 21:42:39 +0000

Folks,

 

Release R2-8 of the EPICS "modbus" module is now available. This is from the release notes:

 

- Improved the logic in the poller thread.

 

    - Previously there was a call to epicsThreadSleep at the end of the poller loop. This meant that the poller always ran at least once, which might not be desirable. It also meant that one could only temporarily disable the poller by calling pasynManager->lockPort(), or to make it run infrequently by setting POLL_DELAY to a long sleep time. In R2-5 the MODBUS_READ command was added. However, this just did a read operation without triggering the poller thread, so records with I/O Intr scan would not process. It also required disabling the poller thread with pasynManager->LockPort.

 

    - The poller thread has been changed so that it calls epicsEventWait or epicsEventWaitWithTimeout at the beginning of the poller loop. If the POLL_DELAY is >0 then it calls epicsEventWaitWithTimeout, using the POLL_DELAY as the timeout. If POLL_DELAY is ≤0 then it calls epicsEventWait, with no timeout. This allows the poller to be suspended indefinitely and only run when the epicsEvent is signaled. It also means if POLL_DELAY ≤0 then the poller does not run at all until the epicsEvent is signaled. The MODBUS_READ command now signals the epicsEvent to trigger the poller, rather than directly doing a read operation.

 

    - Added a new template file, poll_trigger.template which loads a record with the MODBUS_READ drvInfo string to trigger the poller.

 

 

- Fixed problems when using waveform records with the asynInt32Array interface.

 

    - If the Modbus data type was not UINT16 or INT16 then the data were not read into the waveform record correctly. This bug has been fixed, and new files iocBoot/iocTest/array_test.cmd and array_test.substitions were added to test it using the Modbus Slave Simulator. New adl files, modbusTestArray.adl and array_test.adl were added for these tests. modbusTestArray.adl also contains controls for POLL_DELAY and POLL_TRIGGER to verify the improvements to the poller thread above.

 

    - Previously the first element in the waveform record was always the first register in that modbus driver, i.e. it did not allow specifying a register offset using the asyn ADDR address. This was improved so now one can specify an offset using the OFFSET macro parameter, as with the non-array records in modbus.

 

The home page is here:

http://cars.uchicago.edu/software/epics/modbus.html

 

The release notes are here:

http://cars.uchicago.edu/software/epics/modbusReleaseNotes.html

 

The documentation is here:

http://cars.uchicago.edu/software/epics/modbusDoc.html

 

The repository is on Github:

https://github.com/epics-modules/modbus

 

Cheers,

Mark

 

 

 


Navigate by Date:
Prev: measComp R1-2 released Mark Rivers
Next: Re: Re. installation of EPICS for beam position measurement using Raspberrypi Keith Parker
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: measComp R1-2 released Mark Rivers
Next: std support countdown timer trigger PV and calcout record question Alireza Panna
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·