// LEARN · MC Protocol Guide

What is the MC protocol? How it relates to SLMP, and what it can do

The MC protocol lets PCs and other external devices read and write the devices of Mitsubishi Electric PLCs. This article covers its relationship to SLMP, the frame types, and TCP versus UDP, based on the Mitsubishi Electric manuals.

Updated

The MC protocol (MELSEC Communication protocol) is the protocol external devices such as PCs and HMIs use to access Mitsubishi Electric PLCs. You connect over Ethernet or serial, send a message in a fixed format, and the PLC returns or rewrites device values.

No ladder program is needed on the PLC side for this. Once the communication port is opened in the parameters, the PLC answers requests from the external device on its own.

What the MC protocol can do

The manual lists five uses:

  • Reading and writing CPU device memory and the buffer memory of intelligent function modules
  • Reading and writing files such as programs and parameters
  • Remote control of the CPU module: remote RUN / STOP / PAUSE, latch clear and reset
  • Monitoring the CPU module
  • Sending data from the CPU module to the external device (on-demand)

In practice, the first one — reading and writing devices — is what most systems use. Reading a production count from a D register to show line status on a dashboard, or writing an M relay to switch a changeover, are typical examples.

The PLC processes external requests during its END processing, so each request makes the scan time longer. For that reason the manual recommends splitting large transfers into several smaller accesses.

SLMP uses the same messages as the MC protocol’s 3E / 4E frames

Recent manuals and products often use the name SLMP (Seamless Message Protocol). SLMP is a protocol for Ethernet, and the SLMP Reference Manual states that SLMP’s 3E and 4E frames have the same message format as the MC protocol’s QnA-compatible 3E and 4E frames, so external devices built for the MC protocol can connect to SLMP-compatible devices as they are.

OperationCommandSLMP name
Batch read0401Device Read
Batch write1401Device Write
Random read0403Read Random
Random write1402Write Random
Monitor registration / monitor0801 / 0802Entry Monitor Device / Execute Monitor
Multiple block batch read / write0406 / 1406Read Block / Write Block

Three frames: 4E, 3E and 1E. For new work, use 3E or 4E

Three frame types are available over Ethernet.

FrameCharacteristics
4EA 3E frame plus a serial number, so responses can be matched to requests when several are in flight
3EThe same format as the MELSEC-QnA series Ethernet modules, and as SLMP’s 3E frame
1EThe same format as the MELSEC-A series Ethernet modules

1E exists for compatibility with the old A series, so choose 3E or 4E for anything new. Every frame can be sent in binary code or ASCII code. According to the manual, binary carries roughly half the data of ASCII and shortens communication time accordingly.

Serial communication (C24) has its own 1C–4C frames. This guide covers the Ethernet 3E / 4E frames.

TCP is reliable, UDP is light

Over Ethernet you can use either TCP/IP or UDP/IP. The difference is reliability versus line load.

  • TCP/IP: establishes a connection first, so data reliability is ensured. The line load is higher than UDP.
  • UDP/IP: no connection, so the line load is lower. Data reliability is lower than TCP.

A common split is TCP for anything where a lost message matters, such as writes, and UDP for frequent reads.

Which PLCs you can connect to

Any Ethernet-equipped module can talk the MC protocol (SLMP). The two usual cases are:

  • The built-in Ethernet port of a CPU module (such as a MELSEC iQ-R CPU module)
  • An Ethernet interface module (RJ71EN71, QJ71E71-100, LJ71E71-100 and others)

Through a CPU’s built-in Ethernet port you can access only that PLC itself. To reach other stations across a network, go through an Ethernet interface module.

One request at a time

MC protocol communication is half-duplex: send a request, wait for its response, then send the next one. Firing requests without waiting can overwhelm the PLC and cause errors (with 4E frames you may send ahead up to a defined limit).

The next article reads an actual 3E frame message byte by byte.

Sources

  • MELSEC Communication Protocol Reference Manual (Japanese edition, SH-080003) pp.17–24, 28, 39–40
  • SLMP Reference Manual (Japanese edition, SH-080931) pp.7–17, Appendix 2