@fa_yoshinobu/node-red-contrib-plc-comm-slmp 0.2.3

Node-RED nodes for Mitsubishi PLC communication over SLMP binary 3E/4E frames.

npm install @fa_yoshinobu/node-red-contrib-plc-comm-slmp

CI npm version npm downloads Node-RED version Node.js version SLMP frame Transport License

Node-RED SLMP Nodes for Mitsubishi PLCs

Node-RED SLMP hero

Node-RED nodes for Mitsubishi PLC communication over SLMP binary 3E/4E frames.

This package uses the same named-device foundation as the SLMP libraries, extended here with Node-RED-friendly count and string forms:

  • D100
  • D100,10
  • D200:F
  • D200:F,4
  • D300:L
  • D50.3
  • M1000
  • M1000,8
  • D100:STR,10
  • DSTR100,10

This package is documented for the high-level Node-RED workflow only:

  • slmp-connection
  • slmp-read
  • slmp-write

Quick Start

  1. Install the package into your Node-RED user directory and restart Node-RED.
  2. Add one slmp-connection config node and set host, port, transport, PLC series, and frame type.
  3. Add slmp-read for the first smoke test, using a safe address such as D300, D300,4, or DSTR320,10.
  4. When read works, add slmp-write and use known-safe test devices before moving to production addresses.

If you are working from this repository, import one of the ready-to-run flows under examples/flows first. The safest first choices are:

Start with D word devices for the first smoke test. Do not start with slmp-device-matrix.json.

Release Information

Install from npm:

cd ~/.node-red
npm install @fa_yoshinobu/node-red-contrib-plc-comm-slmp

Install from this repository:

cd ~/.node-red
npm install /path/to/node-red-contrib-plc-comm-slmp

Optional local editor smoke test from the repository root:

npm run smoke:editor

This command installs the local package into an isolated temporary userDir, starts a temporary Node-RED runtime, imports slmp-basic-read-write.json, verifies the flow starts, and then shuts the runtime down again.

Legacy note:

  • the original unscoped [email protected] remains on npm, but new releases move to the scoped package name above

Supported PLC Registers

Start with these register/device families first:

  • word devices: D, SD, R, ZR, TN, CN
  • bit devices: M, X, Y, SM, B
  • typed forms: D200:F, D300:L
  • special Node-RED forms: D100,10, M1000,8, D100:STR,10, DSTR100,10
  • bit-in-word form: D50.3

See the full public table in Supported PLC Registers.

Documentation

Maintainer-only notes and retained evidence live under internal_docs/.

What You Can Do

  • Binary 3E and 4E frames
  • TCP and UDP transport
  • reusable slmp-connection
  • high-level reads and writes through slmp-read and slmp-write
  • typed source selection for literal / msg / flow / global / env
  • per-request routing via msg.target or configured route sources
  • read output selection for object / array / single value
  • metadata emission selection for msg.slmp
  • configurable error handling with throw / msg.error / second output
  • connection control via connect / disconnect / reinitialize messages

Set frame type and PLC series explicitly for each connection.

Current Public Register Scope

  • bit devices: SM, X, Y, M, L, F, V, B, TS, TC, STS, STC, CS, CC, SB, DX, DY
  • word devices: SD, D, W, TN, LTN, STN, LSTN, CN, LCN, SW, Z, R, ZR, RD
  • typed views: :S, :D, :L, :F
  • string/count views: ,count, :STR, DSTR
  • word-bit view: .bit

Validated public hardware summary:

  • FX5UC-32MT/D
  • Q06UDVCPU
  • R08CPU

Example Flows

Known Limitations

  • set frame type and PLC series explicitly for each connection
  • .bit,count is not supported
  • a single client connection keeps requests serialized by default
  • the read and write nodes keep the caller-visible logical request shape and do not silently retry with a different fallback split semantics
  • LTS, LTC, LSTS, LSTC, LCS, LCC, LZ, G, and HG are not part of the current public high-level register table

Development

Run the local test suite:

cmd /c npm.cmd test

Notes

  • .bit notation is only valid for word devices such as D50.3
  • direct bit devices should be addressed directly as M1000, X1F, Y20
  • random read batching follows the Python helper layer for batchable word devices

Node Info

Version: 0.2.3
Updated 6 days ago
License: MIT
Rating: 5.0 1

Categories

Actions

Rate:

Downloads

20 in the last week

Nodes

  • slmp-connection
  • slmp-read
  • slmp-write

Keywords

  • node-red
  • node-red-contrib
  • node-red-flow
  • slmp
  • mitsubishi
  • melsec
  • plc

Maintainers