Function Block
Référence MTCP_CP1L_Server OMRON ELECTRONICS S.A.S.
Révision 2.3 14 Rue de Lisbonne
93561 Rosny-sous-Bois cedex
Auteur JP Viskovic
Date 13/11/2013
+ Support http://support-omron.fr/
Modbus TCP Server for CP1L series
Function Modbus TCP Server
Symbol
File MTCP_CP1L_Server.zip
PLC CP1L-EL, CP1L-EM
Conditions The FB Modbus TCP server provides some read/write features in accordance with the
of use specifications defined by the Modbus organization.
Restrictions :
- The FB MTCP_CP1L_Server support only one client connection
- Le FB MTCP_CP1L_Server is intended to facilitate data exchange not related to the
control or the safety of machin.
The Modbus TCP Client function block is offered 'as is' and may serve as a basis for
development.
Users should previously test its adequacy to the final application.
Omron could not be held responsible in case of malfunction.
Principe The FB MTCP_CP1L_Server is listening for a client connection as soon as the EN
input is activated.
TCP TIME-WAIT:
When a TCP connection is closed, the socket pair is placed in a known as TIME-WAIT
state, which ensures that a new connection does not use the same protocol, source
IP address, destination IP address, source port and destination port, until a period of
time sufficient flows to ensure that any segment that may have been incorrectly
routed or delayed are not delivered unexpectedly. The duration of the interval during
which the socket pair cannot be reused is specified in RFC 793 as equal to 2 MSL
Function Block MTCP_CP1L_Server Modbus TCP Server
(twice the maximum lifetime of a segment), or four minutes (CP1L 2mn) .
To avoid this delay, use another local port on the client side (the server is fixed on
port 502).
Supported command list
Code Function Name in MODBUS
0x01 ***** NOT SUPPORTED ****** Read Coils
0x02 ***** NOT SUPPORTED ****** Read Discrete Inputs
0x03 I/O memory area (DM) Read Multiple Registers Read Holding Registers
0x04 I/O memory area (CIO) Read Multiple Registers Read Input Registers
0x05 I/O memory area Write Single Coil (CIO) Write Single Coil
0x06 I/O memory area (DM) Write Single Register Write Single Register
0x08 Echo back test Diagnostic
0x0F ***** NOT SUPPORTED ****** Write Multiple Coils
0x10 I/O memory area (DM) Write Multiple Registers Write Multiple Registers
The FB uses socket N°1 and TCP port 502
Memory Map
Used by the function Block
Type range Descriptions
Send/Receive Area D32500-32767 store request and prepare response
Socket service flag & command switch
Type range Descriptions
Flag/command A567-A572 For more details see :
Parameter Area D32400–D32437 Socket Service from W516
PLC area accessible by the Modbus TCP request
Address MODBUS PDU Corresponding CS/CJ’s address
Coils 1- 65536 0 - 65535 0–65535 (CIO 0.00– 4095.15)
Input Registers 1- 6144 0 - 6143 0–6143 (CIO 0 – CIO6143)
Holding Registers 1- 32768 0 - 32767 0-32767 (D0 – D32767)
JPV 13/11/2013 Page 2/3
Function Block MTCP_CP1L_Server Modbus TCP Server
Input Variable
Name type Range Description
EN Bool OFF, ON Enable FB execution
StartServer Bool OFF, ON ON: open socket in passive mode (listen)
OFF: close the socket
Output Variables
Name type Range Description
ENO Bool OFF, ON Server operational and listening for a client connection
Connected Bool OFF, ON Client connected (last field of IP address)
IP_Client UINT 0-9999
Error_Code Bool OFF, ON See code error list bellow
Except_Counter UINT 0 - FFFF Counter of exception error
Recv_Counter UINT 0 - FFFF Counter of received request (any)
Socket services Error Codes are returned prior to Modbus exception error
Modbus Error Code Description
0001 ILLEGAL FUNCTION
0002 ILLEGAL DATA ADDRESS
0003 ILLEGAL DATA VALUE
Timing charts of related command and flags
PLC Cycle time : 1ms
JPV 13/11/2013 Page 3/3