CC-Link IE Field Driver
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/write return empty/false |
Why is it a stub?
PlantPulse Edge bundles the drivers from Apache PLC4X 0.13.1 as a library (12 of them, including BACnet/KNXnet/CANopen/ADS/AB-ETH, etc.). The driver matrix for 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 없음
Path to full implementation
| Path | Pros | Cons |
|---|---|---|
cc-link-ie driver in PLC4X 0.14+ | Reuses the existing wrapper pattern (inherits from PLC4jProtocolDriver) — minimal code changes | Depends on PLC4X's release schedule |
| xingshuangs/iot-communication (Java, MIT) | Partial CC-Link support — a ready-to-use library | Requires writing your own wrapper (directly inheriting from BaseProtocolDriver) |
| GX Works3 SLMP gateway | Mitsubishi's official gateway — guaranteed stability | Requires additional hardware (e.g., RJ71EN71); using the MELSEC card with SLMP itself is sufficient |
Work 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] 드라이버는 아직 정식 구현 전입니다 ... warn log — isConnected() remains false |
read() | Returns an empty string ("") |
write() | Returns false |
isWriteSupported() | false |
No impact on gateway operation — even if registered, it will show as disconnected and no data will come in.
Recommended workaround: MELSEC SLMP card
The RJ71EN71 (Ethernet module) or the built-in Ethernet port on iQ-R / iQ-F supports SLMP / MC Protocol — this works officially with the MELSEC card.
After mapping the CC-Link IE Field slave's data to PLC-side devices (the D#### area), the gateway only needs to read the PLC's D.