node-red-contrib-s7comm is a Node-RED package designed to facilitate communication with Siemens SIMATIC S7-300, S7-1200, and S7-1500 PLCs. It leverages the RFC1006 (ISO-on-TCP) communication protocol, enabling users to read from and write to specific PLC addresses using various S7 data types. The current stable version is 1.1.6. As a Node-RED contribution node, its release cadence is typically driven by community contributions and updates to its underlying `nodeS7` library, which handles the core PLC communication. Key differentiators include its integration into the Node-RED flow-based programming environment, simplifying the creation of HMI, SCADA, or IIoT applications that interact with Siemens PLCs without requiring extensive low-level protocol knowledge. It abstracts the complexities of the S7comm protocol behind user-friendly Node-RED nodes.
npm install node-red-contrib-s7commVerified import paths — ran on the pinned version, not inferred.
Illustrates the typical installation process for Node-RED packages via the Palette Manager and provides a conceptual JavaScript snippet for direct S7 client interaction (not directly from this Node-RED node).
In TIA Portal, navigate to the PLC properties, then 'Protection & Security', and enable 'Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC)'.
Always cross-check the configured S7 data type (e.g., BYTE, WORD, INT, REAL, BOOL) and array length in the Node-RED node against the PLC's TIA Portal project variables for exact matches.
After making changes to S7comm nodes or their configuration nodes, perform a 'Full deploy' in Node-RED to ensure all nodes are correctly initialized with the latest settings. Check the Node-RED debug tab for errors.
Monitor the GitHub repositories for both `node-red-contrib-s7comm` and `nodeS7` for updates and security advisories. Ensure you are running the latest stable versions of both.
Verify the PLC's IP address and port (default 102), check network connectivity between Node-RED host and PLC, ensure no firewall is blocking port 102, and confirm PLC 'Protection & Security' settings allow PUT/GET communication.
In the Node-RED node's configuration, precisely match the S7 data type (e.g., INT, REAL) and length to what is defined in the TIA Portal for the target PLC address (DB, address, size).
Check the PLC's 'Protection & Security' settings in TIA Portal for PUT/GET permissions. For data blocks, ensure 'Optimized block access' is not solely enabled if the client expects standard access, or vice-versa, and verify block attributes.
Ensure that your 's7comm read' or 's7comm write' node is correctly linked to an 's7comm-config' node, and that the 's7comm-config' node is also properly configured. Perform a 'Full deploy' in Node-RED after making changes.