Mitsubishi MELSEC protocol (MELSEC Communication Protocol)

Protocol description
Communication line configuration
Station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions

Protocol description


The Mitsubishi MELSEC protocol is used for communication with Mitsubishi PLCs (MELSEC L-series, MELSEC Q-series series, and MELSEC iFX-series) equipped with Ethernet communication modules. The UDP variant using the UDP protocol (on the TCP/IP-UDP line) and the TCP variant using the TCP protocol (on the TCP/IP-TCP line) are implemented. Read and write commands are supported.

The following rame formats are supported (see Frame type protocol parameter): 1E, 3E, 4E. Both binary and ASCII message encoding are supported (see the Code type protocol parameter). ASCII-encoded messages are approximately 2 times longer than binary-encoded messages.

Reading and writing various types of objects (device codes) is supported. These objects are bit-oriented or word-oriented, and the interpretation of several (16 or 32) consecutive bit objects as a signed/unsigned number or two consecutive word objects as a number (unsigned, signed, a real 32-bit number) is supported. Access to a specific bit of a word object is also supported.

Communication was tested against the Mitsubishi FX5UC-32MT/DSS-T model (frame 3E, binary encoding, TCP communication).

Communication line configuration


  • Communication line category: TCP/IP-UDP (UDP variant) or  TCP/IP-TCP (TCP variant).
  • TCP/IP-UDP parameters:
    • Host: IP address or of the network interface that is used for communication by the KOM process. A symbolic name that can be translated to an IP address can be entered too.
      Note: a symbolic name ALL or can be entered - in which case all available interfaces are used.
    • Port: UDP port number that is used for communication by the KOM process.
    • Note: The parameters of the backup server (Host and Port) are not used in this protocol.
  • TCP/IP-TCP parameters:
    • As the Host, Port, and Line Number parameters are not used (the PLC address is configured on the station), arbitrary values can be specified.


Station configuration


  • The communication station corresponds to the device with which the KOM process communicates.
  • Communication protocol "Mitsubishi MELSEC".
  • IP Address: IP address of the Mitsubishi device with which the KOM process communicates directly via the Ethernet network. This can be the target device or an intermediary if the target PLC is in another network. If it is an intermediary, the destination device is specified using the station protocol parameters Station No., Network No.Request destination module I/O No., Request destination module station No.
  • Port: TCP/UDP port number of the Mitsubishi device


Station protocol parameters

Configuration dialog box - tab Parameter.
They influence some optional parameters of the protocol. The following station protocol parameters can be set:

Table 1

ParameterMeaningUnitDefault value
General Parameters

Code type

Type of message encoding:

  • Binary code - messages are binary encoded, they are smaller and more compact
  • ASCII code - messages are text-encoded, they are larger but more visually readable
-Binary code

Frame type

The type of frame (header) used. This type must be the same as the type configured on the Mitsubishi PLC side

  • 1E - the simplest header, without a data length specification
  • 3E - header with a data length specification
  • 4E - header with a specification of data length and a serial identifier of individual messages
-3E
1E/3E/4E Frames Common Parameters

Station No. (PC No.)

Hexadecimal number (00-FF) specifying the station network module number (for remote stations). Keep the default value FF for directly connected PLCs.

-FF

Monitoring Timer

Specification of the time to wait for a response in 250 ms units, which is sent in the message header (a value of 0 means waiting without restriction). The default value of 16 means waiting for 4 seconds.

250 ms16

Max Points

The maximum number of objects read in one message. The range is 1-960. Objects can be of bit or word type. A bit object is transmitted as 1 bit (2 bits in ASCII encoding), a word object is transmitted as 2 bytes (4 bytes in ASCII encoding).
When reading objects periodically, read requests are split into multiple if the number of objects in one request is greater than the specified maximum.

-480

Max Data Bytes

Maximum response size - the size of the pure data. The range is 2-8192 bytes.
When reading objects periodically, the read requests are split into several if the response size is larger than the specified maximum.

byte512
3E/4E Access Route Parameters

Network No.

Destination network number (for multidrop systems/stations on remote networks). The value is entered in decimal and is in the range 0-255. When communicating with a directly connected station, the value 0 is entered. Other values (see documentation) are entered when communicating with stations located on other network segments (it can also be serial lines) located behind the directly connected station. See Literature for more information.

-0

Request destination module I/O No.

Target I / O module number (for multidrop/multiCPU/redundant systems). The value is entered in hexadecimal and is in the range 0000-FFFF. When communicating with a directly connected station, the value 03FF is entered. Other values (see documentation) are entered when communicating with stations located on other network segments (it can also be serial lines) located behind a directly connected station, in the case of multidrop connections, and in the case of working with redundant PLCs and PLCs with multiple CPUs. See Literature for more information.

-03FF

Request destination module station No.

Destination station number (for multidrop/multiCPU/redundant systems). The value is entered in hexadecimal and is in the range 00-FF. When communicating with a directly connected station, the value 00 is entered. Other values (see documentation) are entered in the case of a multidrop connection. See Literature for more information.

-00
Other Parameters


Retry Count

Maximum count of request retries. If no response returns after a request has been sent, the station's status will change to a communication error.-2

Retry Timeout

Timeout before resending a request if no response has been received.s0.1

Wait Timeout

Timeout for receiving a response. The value of the parameter should be greater than the time corresponding to the value of the Monitoring Timer parameter.

s1.0

Full Debug

Logging of detailed debug information about communication in the line log.YES/NONO

Text Debug

Text reports of messages. If Code type=ASCII code, message listings will be in text form.

YES/NONO


I/O tag configuration


Possible types of I/O tag values: Ai, Ao, Di, Do, Ci, CoTiRToR.

I/O tag address:

The address of the I/O tag is in the form <device code><device number>{ .bit} { ,<value type>} {, items}
Note: the I/O tag is ignored if its address starts with %IGNORE

Device code

In Mitsubishi protocol terminology, individual objects whose values are read and written are called devices. The protocol allows access to multiple types of devices. Working with the following types of devices is supported:

Device typeDevice codeData type
Special relaySMbit
Special registerSDword
InputXbit
OutputYbit
Internal relayMbit
Latch relayLbit
AnnunciatorFbit
Edge relayVbit
Link relayBbit
Data registerDword
Link registerWword
Timer ContactTSbit
Timer CoilTCbit
Timer Current valueTNword
Retentive Timer ContactSTSbit
Retentive Timer CoilSTCbit
Retentive Timer Current valueSTNword
Counter ContactCSbit
Counter CoilCCbit
Counter Current valueCNword
Link special relaySBbit
Link special registerSWword
Direct access inputDXbit
Direct access outputDYbit
Index register

Z

word
File register

R

word


Device number

For a specific type of device (device code), individual objects are identified by a number (device number). When using 3E and 4E frames, a 3-byte number is specified, when using a 1E frame, a 4-byte number is specified. Numbering starts from 0, the maximum number for a specific device type depends on the specific PLC.
Note 1: if the number starts with a hash sign (#), it is understood as hexadecimal, e.g. #A3 is 163 in decimal.
Note 2: if the number starts with "o", it is understood as octal, e.g. o17 is 15 in decimal. For several types of Mitsubishi PLCs, the octal system is used to number Inputs (X) and Outputs (Y).


 Bit

Optional parameter - access to a specific bit. For device types (device code) that have word data, a specific bit (0-15) can be specified.
Note: writing is not yet implemented for the  I/O tag with a specified bit, only reading.


 Value type

Optional parameter - data interpretation.
For device types (device code) that have word data, the default interpretation is WORD (e.g. SD5 address).
For device types (device code) that have bit data, the BIT interpretation is preset (e.g. X5 address)

Value typeInterpretation
BITInterpretation of a bit-type device as a bit (e.g. X3, BIT)
Interpretation of one bit of word-type device as a bit (e.g. D5.0)
WORDInterpretation of 16 consecutive bit-type devices as a 16-bit unsigned number (e.g. X10, WORD).
Interpretation of one word-type device as an unsigned 16-bit number (e.g. SD10, WORD).
INTInterpretation of 16 consecutive bit-type devices as a 16-bit signed number  (e.g. X10, INT).
Interpretation of one word-type device as a signed 16-bit number (e.g. SD10, INT).
DWORDInterpretation of 32 consecutive bit-type devices as a 32-bit unsigned number (e.g. X10, DWORD).
Interpretation of 2 consecutive word-type devices as a 32-bit unsigned number (e.g. SD10, DWORD).
DINTInterpretation of consecutive 32 bit-type devices as a 32-bit signed number (e.g. X10, DINT).
Interpretation of 2 consecutive word-type devices as a 32-bit signed number (e.g. SD10, DINT).
REALInterpretation of consecutive 32 bit-type devices as a 32-bit floating-point number (e.g. Y10, REAL).
Interpretation of 2 consecutive word-type devices as a 32-bit floating-point number (e.g. SD10, REAL).

Note: when interpreting 32-bit numbers, the data is interpreted as little-endian (a lower word at a lower address, higher at a higher address).


 Items

The number of elements for structured I/O tags with configured Destination column. Every read element (1,2,3 .. items) will be written to one item of the destination column.
Note: All "items" elements are read at once. If e.g. 100 elements of device type (device code) which has data of word type (e.g. address D10, WORD, 100), are configured, it means reading of a block of 200 bytes.  If the number of objects is greater than the value of the Max Points, parameter, or the data size is greater than the Max Data Bytes, the reading will not be performed and an error message Too many elements in point < I/O tag name> will be added to the line log.

Configuration examples:

  • X10 - Input 10, interpreted as a BIT (default)
  • D0 - Data register 0, interpreted as a WORD (default)
  • M12, WORD - Internal relays 12-27, interpreted as a WORD
  • M#12, WORD - Internal relays 18-33 (0x12=18), interpreted as a WORD
  • D4, REAL - Data registers 4 and 5, interpreted as REAL
  • Y10, BIT, 20 - Inputs 10-29, interpreted as BIT (default), assigned to 20 items of the Destination column
  • D4, REAL, 10 - Data registers 4-23, each couple interpreted as REAL, assigned to 10 items of the Destination column
  • D4, WORD, 10 - Data register 4-13, interpreted as WORD, assigned to 10 items of the Destination column
  • R1000, , 3 - File registers 1000-1003, interpreted as WORD (default), assigned to 3 items of the Destination column

Literature



Changes and modifications


-

Document revisions


  • Ver. 1.0 – March 10, 2021 - a document created
  • Ver. 1.1 – October 24, 2023 - support for file registers
Napíšte komentár