A Node-RED node for reading and writing data to Siemens S7 PLCs, including S7-1200/1500 and Logo! 8 controllers.
node-red-contrib-s7 is a Node-RED node package that provides connectivity to Siemens S7 PLCs. It enables reading and writing of PLC data variables directly within Node-RED flows, bridging industrial automation systems with modern IoT and data processing applications. The node handles various S7 data types and supports multiple PLC families including S7-1200/1500 and Logo! 8 controllers.
Industrial automation engineers, IoT developers, and system integrators who need to connect Siemens PLCs to Node-RED for data monitoring, control systems, or industrial IoT applications.
Developers choose this package because it provides a specialized, well-documented solution for Siemens PLC integration within Node-RED's visual programming environment. It offers comprehensive addressing support, flexible data reading modes, and compatibility with multiple PLC generations that aren't typically available in generic industrial protocol nodes.
A Node-RED node to interact with Siemens S7 PLCs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports a comprehensive range of S7 data types including booleans, numbers, strings, timestamps, and endian formats, as detailed in the README's addressing table with examples like DB5,X0.1 for bits and DB21,R7 for floats.
Offers diff mode for change detection, reducing flow traffic by sending messages only when variable values change, which is efficient for monitoring applications and configurable in the S7 In node.
Works with multiple Siemens PLC families including S7-300/400, S7-1200/1500, and Logo! 8, providing versatility for various industrial setups, though with extra steps for newer models.
Uses S7 Endpoint configuration nodes to centralize PLC connections, addressing, and polling cycles, simplifying flow design and maintenance as described in the Usage section.
For S7-1200/1500 PLCs, users must manually disable optimized block access and enable PUT/GET permissions on the PLC, adding complexity and potential downtime, as admitted in the README notes.
The addressing scheme differs from standard Siemens tools like Step 7 or TIA Portal, requiring users to learn and map addresses manually, which can lead to errors and a steeper learning curve.
Date values from PLCs require additional nodes like node-red-contrib-moment for proper conversion, as JavaScript Dates are always in UTC, complicating timezone management without built-in support.