This is historical information of device classes implemented in Modbus device server.

Use this link to find the valid information.

Development status: Released
Information status: New

Contact:



Class Description


A Class to handle the modbus protocol over TCP/IP or Serial (RTU).

Families: Communication

Key words:

Platform: All Platforms

Language: Cpp

License:

Contact:

Hardware


Manufacturer: none

Bus: Modbus

Class interface


Attributes:

Commands:

Name Description
StateInput: DevVoid
Output: State
State Code
This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.
StatusInput: DevVoid
Output: ConstDevString
Status description
This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.
ForceSingleCoilInput: DevVarShortArray
coil address, 0/1
Output: DevVoid
Write single coil (digital I/O) state.
ReadCoilStatusInput: DevShort
coil address
Output: DevShort
Coil status
Read coil (digital I/O) status.
ReadInputStatusInput: DevVarShortArray
input address, no. of inputs
Output: DevVarCharArray
Input status.
Read discrete input status. Return one boolean per array element.
ReadHoldingRegistersInput: DevVarShortArray
register address, no. of registers
Output: DevVarShortArray
Holding 16bits register.
Read multiple 16bits registers.
ReadInputRegistersInput: DevVarShortArray
register address, no. of registers
Output: DevVarShortArray
Input 16bits registers
Read Multiple 16bits input registers.
PresetSingleRegisterInput: DevVarShortArray
Register address, register value.
Output: DevVoid
Write single 16bits register.
ReadExceptionStatusInput: DevVoid
Output: DevShort
exception status
Read exception status (usually a predefined range of 8 bits
FetchCommEventCtrInput: DevVoid
Output: DevVarShortArray
status, event count
Fetch communications event counter.
ForceMultipleCoilsInput: DevVarShortArray
coil address, nb of coils, coil states
Output: DevVoid
Write multiple coils (digital I/O) state. argin[0] = coil_address argin[1] = number of coils argin[2] = 1st coil state argin[3] = 2nd coil state ...
ReadMultipleCoilsStatusInput: DevVarShortArray
coil address, nb of coils
Output: DevVarShortArray
Status of coils
Read multiple coil (digital I/O) status. argin[0] = register address argin[1] = number of registers
PresetMultipleRegistersInput: DevVarShortArray
register address, nb of registers, register data
Output: DevVoid
Write multiple 16bits registers. argin[0] = register address argin[1] = number of registers argin[2] = 1st register argin[3] = 2nd register ...
MaskWriteRegisterInput: DevVarShortArray
register address, AND mask, OR mask
Output: DevVoid
Mask write a 16bits register.
ReadWriteRegisterInput: DevVarShortArray
read address, no. to read, write address, nb.of write, write data
Output: DevVarShortArray
read registers
Read and Write multiple 16bits registers. argin[0] = read address argin[1] = nb of registers to read argin[2] = write address, argin[3] = nb of registers to write, argin[4] = 1st register value to write argin[5] = 2nd register value to write ...
PresetSingleRegisterBroadcastInput: DevVarShortArray
register value.
Output: DevVoid
Write single 16bits register at address 0 (Address reserved for broadcast) Does not wait for the equipment response.

Pipes:

Properties:

Name Description
ProtocolDevString RTU`` : Binary serial communication. ``TCP`` : Communication over ethernet.
IphostDevString The host IP address used with the TCP protocol in the form aa.bb.cc.dd.
SeriallineDevString The name of the serial line device used with RTU protocol. This can be any device name of a Serial Class object in the Tango system.
AddressDevShort Node index used with the RTU or TCP protocol
CacheConfigArray of DevString Describe which data has to be cached. Each set of cached data is described by 3 parameters which are: 1 - Command to be used to read data (ReadHoldingRegisters, ReadInputStatus ReadInutRegisters or ReadMultipleCoilStatus) 2 - First address to be read 3 - Number of data to read
CacheSleepDevLong Cache update thread main loop sleeping time (in ms)
SocketConnectionSleepDevLong The necessary sleep time between closing a connection (Socket) and opening a new connection. To avoid hang-ups a non blocking socket is used to check the availability on the network. Afterwards the non blocking socket is closed and a blocking socket will be opened. The SocketConnectionSleep time specified the wait time in ms between these two connections.
TCPTimeoutDevDouble Timeout used when the TCP protocol is used (in sec)
LogFileDevString Name og the file where are stored invalid frame
TCPNoDelayDevBoolean Disable Nagle`s algorithm. Set this property to reduce the latency of TCP transmissions. This property is relevant only if the ``Protocol`` property is set to ``TCP``.
TCPQuickAckDevBoolean Set this property to true to enable TCP quick acknowledgements to reduce the TCP latency. This could be useful with some electronic boards to force the device server to acknowledge immediately the received TCP packets. This avoids TCP packets retransmissions and reduces the TCP latency. Please note that this is relevant only if ``Protocol`` property is set to ``TCP``. Please also note that this works only on Linux Operating Systems.

29 Jan 2022, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



29 May 2021, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



29 Jun 2019, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



23 Mar 2019, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



23 Feb 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



19 Jan 2017, Piotr Goryl
Updated:
The device server has been updated.
You are looking at this version now.



3 Jan 2017, Piotr Goryl
Created:
The device server has been added to catalogue.
Added by:pgoryl2 on:19 Jan 2017, 10:38 a.m.