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.
- 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.
- 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
Parameter | Meaning | Unit | Default value |
---|---|---|---|
General Parameters | |||
Code type | Type of message encoding:
| - | 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
| - | 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 ms | 16 |
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). | - | 480 |
Max Data Bytes | Maximum response size - the size of the pure data. The range is 2-8192 bytes. | byte | 512 |
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. | s | 0.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. | s | 1.0 |
Full Debug | Logging of detailed debug information about communication in the line log. | YES/NO | NO |
Text Debug | Text reports of messages. If Code type=ASCII code, message listings will be in text form. | YES/NO | NO |
I/O tag configuration
Possible types of I/O tag values: Ai, Ao, Di, Do, Ci, Co, TiR, ToR.
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 type | Device code | Data type |
---|---|---|
Special relay | SM | bit |
Special register | SD | word |
Input | X | bit |
Output | Y | bit |
Internal relay | M | bit |
Latch relay | L | bit |
Annunciator | F | bit |
Edge relay | V | bit |
Link relay | B | bit |
Data register | D | word |
Link register | W | word |
Timer Contact | TS | bit |
Timer Coil | TC | bit |
Timer Current value | TN | word |
Retentive Timer Contact | STS | bit |
Retentive Timer Coil | STC | bit |
Retentive Timer Current value | STN | word |
Counter Contact | CS | bit |
Counter Coil | CC | bit |
Counter Current value | CN | word |
Link special relay | SB | bit |
Link special register | SW | word |
Direct access input | DX | bit |
Direct access output | DY | bit |
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 type | Interpretation |
---|---|
BIT | Interpretation 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) |
WORD | Interpretation 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). |
INT | Interpretation 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). |
DWORD | Interpretation 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). |
DINT | Interpretation 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). |
REAL | Interpretation 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
Related pages:
Pridať komentár