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  2016  2017  2018  2019  <20202021  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  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: modbus R3-1 available
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 28 Jul 2020 21:12:40 +0000

Folks,

 

R3-1 of the Modbus module is now available.  This is from the release notes.

 

********************************

 

- Added support for the asynInt64 interface between device support and the driver.

 

- Added support for 22 new data types including unsigned integers, 64-bit integers, byte-swapped versions of all 32-bit and 64-bit data types, and zero-terminated strings.

  INT32_LE_BS Byte-swapped Int32 little-endian

  INT32_BE_BS Byte-swapped Int32 big-endian

  UINT32_LE Unsigned Int32 little-endian

  UINT32_BE Unsigned Int32 big-endian

  UINT32_LE_BS Byte-swapped unsigned Int32 little-endian

  UINT32_BE_BS Byte-swapped unsigned Int32 big-endian

  INT64_LE Int64 little-endian

  INT64_BE Int64 big-endian

  INT64_LE_BS Byte-swapped Int64 little-endian

  INT64_BE_BS Byte-swapped Int64 big-endian

  UINT64_LE Unsigned Int64 little-endian

  UINT64_BE Unsigned Int64 big-endian

  UINT64_LE_BS Byte-swapped unsigned Int64 little-endian

  UINT64_BE_BS Byte-swapped unsigned Int64 big-endian

  FLOAT32_LE_BS Byte-swapped Float32 little-endian

  FLOAT32_BE_BS Byte-swapped Float32 big-endian

  FLOAT64_LE_BS Byte-swapped Float64 little-endian

  FLOAT64_BE_BS Byte-swapped Float64 big-endian

  ZSTRING_HIGH Zero terminated string data. One character is stored in the high byte of each register.

  ZSTRING_LOW Zero terminated string data. One character is stored in the low byte of each register.

  ZSTRING_HIGH_LOW Zero terminated string data. Two characters are stored in each register, the first in the high byte and the second in the low byte.

  ZSTRING_LOW_HIGH Zero terminated string data. Two characters are stored in each register, the first in the low byte and the second in the high byte.

 

Note: For big-endian formats the _BE format is order in which an IEEE value would be stored on a big-endian machine, and _BE_BS swaps the bytes in each 16-bit word relative to IEEE specification. However, for little-endian formats the _LE format is byte-swapped within each 16-bit word compared how the IEEE value would be be stored on a little-endian machine.

The _LE_BS format is the order in which an IEEE value would be stored on a little-endian machine. This is done for backwards compatibility, because that is how _LE has always been stored in previous versions of this modbus module.

 

- Converted the documentation from HTML to REst, and moved to https://epics-modbus.readthedocs.io/en/latest/.

 

- Converted the release notes from HTML to Github Markdown and moved to https://github.com/epics-modules/modbus/blob/master/RELEASE.md.

 

- Improved debugging by returning the actual number of bytes transfered in read operations in the interpose interface functions.

 

- Fixed writing strings with absolute addressing.

 

- Fixed the length limit of function codes 1,2,5 and 15. It was previously allowing allowing 2015 and 1983 bits, rather than 2000 and 1968.

 

- Added support for specifying the maximum length of strings in the drvUser field. STRING_HIGH=17 would result in a 16 character long string (plus terminating 0 byte)

 

- Handle errors in drvModbusAsynConfigure.

 

Thanks to Krisztian Loki from ESS for the ZSTRING support and the last 4 fixes above.

 

********************************

 

Home page:

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

 

Documentation (new location):

https://epics-modbus.readthedocs.io/en/latest/

 

Release notes (new location):

https://github.com/epics-modules/modbus/blob/master/RELEASE.md

 

Cheers,

Mark

 

 

 


Navigate by Date:
Prev: RE: How to check IOC connection Mark Rivers via Tech-talk
Next: RE: ADProsilica crashing on RHEL7 3.10.0-1127 Pearson, Matthew R. via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: 回复: EPICS support for Linkam T96 controller in Linux. Li, Ji via Tech-talk
Next: looking for aai/waveform example David A. Slimmer via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 03 Aug 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·