You are not logged in.
Hello,
I would like to share few hints for use of Advantech remote Ethernet I/O modules and modular systems and respective Modbus setup in REX. I have good experiences with them, they are very intuitive and follow Modbus rules with no variations. Because the Advantech documentation is not as good as one would expect (but it is a general problem also for well established brands), these little hints can avoid some headache when you decide to use it. Especially if you are not deeply educated in internet protocol engineering :-)
Described systems are for example standalone measuring modules (ADAM 6000 series) like ADAM-6017 (20mA current loop and voltage measuring):
http://www.advantech.com/products/ether … 798c56b090
and modular system ADAM-5000/TCP that accepts 4 or 8 different plug-in modules with almost any input or output type to cover high amount of measured signals:
http://www.advantech.com/products/i-o-r … dd5f2f7708
Since both are Ethernet based and support Modbus protocol, they are perfect for application when you only need to measure the signals without complex in-field processing (it is not PLC).
The hints are:
- for standalone modules (6000 series) the configuration of REX is exactly the same as described in REX's Modbus manual. The subaddress plays no role since there can not be any subsystem connected to it. IP address is enough. No special Item setup in Modbus driver is required, i.e. no byte swapping, etc. Item address start with 0 for first signal, 1 for second etc.
- For modular system (5000/TCP series) it is, however, different. These systems can serve as a hub for other Modbus RTU/485 devices. Since these serial devices are attached to the main ADAM-5000 unit they all share one IP address. Because of that, ADAM-5000 must rely on subaddressing. ADAM-5000/TCP always use subbaddress = 1 (and only this). Other subaddresses are reserved for connected serial devices. Even if only single ADAM-5000 without any other serial devices is attached, still you have to use subaddress=1.
See difference in example between subaddressing of ADAM-6017 (named ADAM-Sila, here any subbaddress will work) and ADAM-5000 (named ADAM-IL4).
Item setup is the same. Each module of ADAM-5000 unit occupies 8 registers no matter if all of them are used or not (some of the modules have less inputs than 8) but it is described well in ADAM manual.
- all D/A conversions of any ADAM system have 16 bit resolution so that each signal fits exactly into to one Modbus register (1 word=2bytes). The signal is scaled in range 0-65535 (16bit resolution) so you only need to scale it by LIN block in REX according your selected ADAM input signal range.
- for ADAM system there is no difference if you read input signal (function 3 - INREG Item type in REX) or holding register (function 4 - REGISTER Item type in REX).
BR,
Michal Krupička
Offline
Hi Michal,
I truly appreciate sharing your experience and know-how! Excellent post, very well written.
Thank you!
Kind regards,
Jaroslav
Monarco HAT for Raspberry Pi - Lightweight I/O for monitoring, archiving and control.
Raspberry Pi in industrial automation!
Offline