Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 06:46
· 11 commits to main since this release

First release of node-red-contrib-s7-rust: Node-RED nodes for Siemens S7 PLCs, with the protocol clients written in Rust and running inside the Node-RED process. It is the next generation of @oriolrius/node-red-contrib-s7.

Highlights

  • Two protocols: classic S7comm (S7-200/300/400/1200/1500, LOGO! 8) and S7CommPlus (S7-1200/1500) with symbolic access to optimized DBs, TLS and password login.
  • Five nodes: s7 endpoint, s7 read, s7 write, s7 watch (with a conditional rate) and s7 info (CPU state, SZL, clock, blocks, browse, alarms).
  • Fast and light: no child process and no IPC; reads are grouped into as few requests as the PDU allows; changes are detected on the raw PLC bytes.
  • Linux x64 only, prebuilt for glibc ≥ 2.28 and musl (Alpine, the Node-RED Docker image).
  • Licence LGPL-3.0-only. The README has the exact map of the S7 functions that are covered.

Upgrade notes

New package: install node-red-contrib-s7-rust from the palette. It does not replace @oriolrius/node-red-contrib-s7 in existing flows.

Details (CHANGELOG)

First release: the next generation of @oriolrius/node-red-contrib-s7.

Added

  • S7comm client in Rust (crate s7): S7-200/300/400/1200/1500 and LOGO! 8, Siemens and nodes7 address syntax, all S7 data types, request optimization with gap spanning, reconnection, SZL, clock, block information.
  • S7CommPlus client in Rust (crate s7plus): S7-1200/1500 symbolic access to optimized DBs and PLC tags, absolute area access, TLS 1.3, legitimation (password), browse, alarms.
  • Node-API addon (crate s7napi): one thread per connection, columnar results, change detection on the raw PLC bytes.
  • Nodes s7 endpoint, s7 read, s7 write, s7 watch (conditional rate) and s7 info.
  • Admin API GET /s7rs/status/:id and GET /s7rs/call/:id/:action (read-only actions).
  • Prebuilt binaries for Linux x64: glibc ≥ 2.28 and musl (Alpine).
  • Example flows, editor help, en-US message catalogs.
  • CI: tests on Node-RED 4 and 5, gitleaks, GitGuardian, RustSec and npm audit, CodeQL, OpenSSF Scorecard, Dependabot. License LGPL-3.0-only.

[Unreleased]: v1.0.4...HEAD [1.0.4]: v1.0.3...v1.0.4 [1.0.3]: v1.0.2...v1.0.3 [1.0.2]: v1.0.1...v1.0.2 [1.0.1]: v1.0.0...v1.0.1 [1.0.0]: https://github.com/oriolrius/node-red-contrib-s7-rust/releases/tag/v1.0.0