Files
pnoker dc2164f46e fix(driver): repair boot, scheduling and registration regressions
a live-stack sweep of all 36 drivers surfaced five sdk-level defects
that left reads dead or the whole fleet unbootable:

- drop the empty spring.main stub in the shared driver profile; the
  boot 4.1 binder rejects null-valued keys and every driver died at
  startup with a bind exception
- rename the schedule enable flag to enable to match what every driver
  application.yml actually spells; with the old enabled key the read
  and custom quartz jobs were silently never scheduled
- treat proto3 zero-versions as unset when reconciling registration
  so a driver restart re-registers instead of failing the optimistic
  lock with 'driver version conflict'
- ignore the driver's own registration event that can be consumed
  before applymetadata finishes instead of logging an error
- initialize jdbc/serial connection maps eagerly: the registration
  event handler invalidates pools and nped on a lazy-null map
- ble: exclude the guava 18 pin dragged in by bluetooth-manager
- kafka: use the starter (boot 4 split autoconfigurations out of the
  bare jar) and read the compose-provided bootstrap variable
- lwm2m: pin californium to the 3.x api leshan m14 needs and
  configure an explicit coap endpoint
- mqtt: replace the orphaned spring-integration gateway with a paho
  publisher so the send path exists again
- boot sweep result: 36/36 drivers start, 0 errors
2026-09-18 09:48:19 +08:00
..

DC3 Driver Mitsubishi Melsec

Overview

dc3-driver-melsec is the Mitsubishi Melsec MC protocol driver of the IoT DC3 platform. It connects to Melsec PLCs over the MC protocol using the iot-communication library, reading and writing device memory addresses (e.g. D100, M0, X10, W200) by point value type.

Module Information

  • Group ID: io.github.pnoker
  • Artifact ID: dc3-driver-melsec
  • Driver Name: Mitsubishi Melsec Driver

Driver Attributes (Device-level)

Attribute Description
Host Ip
Port Port
PLC Series PLC series (A/QnA/Q_L/IQ_R)

Point Attributes

Attribute Description
Device Address Device memory address (D100, M0, X10, W200 etc.)
String Length String read length (0 for non-string types)

The module application.yml is authoritative for attribute codes, types, default values, scheduling, health, and local buffering. Keep this README aligned when those user-facing settings change.

Prerequisites

A reachable Mitsubishi Melsec PLC (or simulator) exposing the MC protocol over TCP, addressable by the configured host and port.

Running Locally

1. Start Infrastructure and Center Services

make up-db
make up-dev GROUP=core

2. Build and Run

mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-melsec -am package
java -jar dc3-driver/dc3-driver-melsec/target/dc3-driver-melsec.jar

Testing

Run the module tests from the repository root:

mvn -s .mvn/settings.xml -pl dc3-driver/dc3-driver-melsec -am test
  • dc3-common-driver — Driver SDK for registration, scheduling, and RabbitMQ integration