CC-Link IE Field Driver — Technical Reference (Implementation Roadmap)
The CC-Link IE Field driver in PlantPulse Edge is currently at the stub (placeholder) stage. Until full read/write operation is available, use the MELSEC (MC Protocol / SLMP) card as a workaround.
Source: plantpulse.driver.protocol.cclink.*
| Class | Responsibility |
|---|---|
CCLinkIEFieldDriver | AbstractStubDriver-based placeholder — logs a warning on connect; both read and write return empty/false |
Why a stub
PlantPulse Edge bundles the drivers of Apache PLC4X 0.13.1 as libraries (12 in total, including BACnet/KNXnet/CANopen/ADS/AB-ETH). The driver matrix of PLC4X 0.13.1 does not yet include CC-Link IE Field.
How to verify:
ls plantpulse-edge-driver/lib/ | grep plc4j-driver
# plc4j-driver-ab-eth, ads, bacnet, c-bus, can, canopen, eip, firmata,
# iec-60870, knxnetip, modbus, opcua, open-protocol, plc4x, profinet-ng,
# s7, simulated ← cc-link-ie 없음
Paths to a full implementation
| Path | Advantages | Disadvantages |
|---|---|---|
cc-link-ie driver in PLC4X 0.14+ | Keeps the existing wrapper pattern (inheriting PLC4jProtocolDriver) — minimal code changes | Depends on the PLC4X release schedule |
| xingshuangs/iot-communication (Java, MIT) | Partial CC-Link support — a library ready for immediate use | Requires writing a custom wrapper (inheriting BaseProtocolDriver directly) |
| GX Works3 SLMP gateway | Official Mitsubishi gateway — guaranteed stability | Requires additional hardware (RJ71EN71, etc.); SLMP can simply be used via the MELSEC card |
Work required on the PlantPulse Edge side:
// 정식 구현 시 (PLC4X 0.14+ 가정)
public class CCLinkIEFieldDriver extends PLC4jProtocolDriver implements ProtocolDriver {
@Override public String getProtocol() { return "cc-link-ie"; }
}
Build:
./gradlew clean build
Registration form options (planned)
| key | Description | Default |
|---|---|---|
device-id | Slave station number (1–120) | (required) |
network-no | Network number (1–239) | 1 |
request-timeout | read/write timeout (ms) | 2000 |
Address notation (planned)
| Device | Meaning | Notation |
|---|---|---|
RX#### | Remote Input bit | RX0010 |
RY#### | Remote Output bit | RY0020 |
RWr#### | Remote Word in (16-bit) | RWr0100 |
RWw#### | Remote Word out (16-bit) | RWw0100 |
SB#### | Link Special Bit | SB0001 |
SW#### | Link Special Word | SW0001 |
LB#### | Link Bit | LB0010 |
LW#### | Link Word | LW0010 |
Current behavior (stub)
| Method | Behavior |
|---|---|
connect() | [CC-Link IE Field] 드라이버는 아직 정식 구현 전입니다 ... warning log — isConnected() remains false |
read() | Returns an empty string ("") |
write() | Returns false |
isWriteSupported() | false |
No impact on gateway operation — even if registered, it is shown as disconnected and no data arrives.
Recommended workaround: MELSEC SLMP card
The RJ71EN71 (Ethernet module) on iQ-R / iQ-F, or the built-in Ethernet port, supports SLMP / MC Protocol — and that works fully with the MELSEC card.
Map the data of the CC-Link IE Field slave into PLC-side devices (the D#### area), and the gateway then only needs to read the PLC's D.