X4 Help Center
7.5 7.4 German English
Auto Light Dark
Auto Light Dark
7.5 7.4 German English

Modbus TCP Connector

This adapter connects to devices via the Modbus TCP protocol.

Properties

Operation

Defines the operation executed by the adapter

Possible values:

  • Read:  Reads data from the Modbus server

  • Write:  Writes data to the Modbus server

Parameters

Adapter

Main adapter class (do not change!)

Possible values:  de.softproject.integration.adapter.modbus.ModBusConnectorAdapter: Main class (default)

ip

Server IP

port

Server port

Possible values:

  • any port number

  • 502 (default)

Status values

1

The operation was executed successfully

-1

Any error occurred during the operation's execution

Input

The adapter expects a specific XML structure for the different operations:

  • Operation Read:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Request>
    	<InputRegisters count="2" ref="0"/>
    	<InputRegisters count="1" ref="3"/>
    	<HoldingRegisters count="2" ref="0"/>
    	<HoldingRegisters count="1" ref="3"/>
    	<Discretes count="2" ref="0"/>
    	<Discretes count="1" ref="3"/>
    	<Coils count="2" ref="0"/>
    	<Coils count="1" ref="3"/>
    </Request>
    


  • Operation Write:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Request>
    	<HoldingRegister ref="11">14</HoldingRegister>
    	<Coil ref="20">true</Coil>
    	<Coil ref="000E1">TRUE</Coil>
    </Request>
    


Output

The adapter outputs different structures depending on the executed operation:

  • Operation Read:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Request>
    	<InputRegisters count="2" ref="0">
    		<Result>
    			<InputRegister ref="0">0</InputRegister>
    			<InputRegister ref="1">0</InputRegister>
    		</Result>
    	</InputRegisters>
    	<InputRegisters count="1" ref="3">
    		<Result>
    			<InputRegister ref="0">0</InputRegister>
    		</Result>
    	</InputRegisters>
    	<HoldingRegisters count="2" ref="0">
    		<Result>
    			<HoldingRegister ref="0">0</HoldingRegister>
    			<HoldingRegister ref="1">0</HoldingRegister>
    		</Result>
    	</HoldingRegisters>
    	<HoldingRegisters count="1" ref="3">
    		<Result>
    			<HoldingRegister ref="0">0</HoldingRegister>
    		</Result>
    	</HoldingRegisters>
    	<Discretes count="2" ref="0">
    		Result>
    			<Discrete ref="0">false</Discrete>
    			<Discrete ref="1">false</Discrete>
    		</Result>
    	</Discretes>
    	<Discretes count="1" ref="3">
    		Result>
    			<Discrete ref="0">false</Discrete>
    		</Result>
    	</Discretes>
    	<Coils count="2" ref="0">
    		Result>
    			<Coil ref="0">false</Coil>
    			<Coil ref="1">false</Coil>
    		</Result>
    	</Coils>
    	<Coils count="1" ref="3">
    		Result>
    			<Coil ref="0">false</Coil>
    		</Result>
    	</Coils>
    </Request>
    


  • Operation Write:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Request>
    	<HoldingRegister ref="11">14</HoldingRegister>
    	<Coil ref="20">true</Coil>
    	<Coil ref="000E1">TRUE</Coil>
    </Request>
    


    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <listErrors description="Wrong Input values for the elements of this list">
    	<HoldingRegister ref="11">xx</HoldingRegister>
    	<Coil ref="xxxxx">true</Coil>
    	<Coil ref="000B">45</Coil>
    </listErrors>