@oriolrius/node-red-contrib-s7
Version:
A Node-RED node to interact with Siemens S7 PLCs
266 lines (214 loc) • 9.57 kB
Markdown
Version: 4.2.0
------------
- **FEATURE**: Added built-in text parsing to S7 Control setvartable function
- **ENHANCEMENT**: No more need for external function nodes to parse variable tables
- **USABILITY**: Support for "address;name" text format in msg.payload
- **COMPATIBILITY**: Backward compatible with existing msg.vartable array format
- **CONVENIENCE**: Easy copy-paste from Excel/CSV spreadsheets
- **DOCUMENTATION**: Updated inline help with new text parsing examples and usage
- **FORMAT**: Text format supports line breaks, whitespace trimming, and empty line skipping
- **ERROR HANDLING**: Improved validation and error messages for both input formats
Version: 4.1.0
------------
- **MAJOR**: Comprehensive inline documentation overhaul for all Node-RED help panels
- **DOCUMENTATION**: Complete rewrite of S7 Endpoint, S7 In, S7 Out, and S7 Control help sections
- **ENHANCEMENT**: Added visual examples, troubleshooting guides, and best practices in Node-RED UI
- **FEATURE**: Inline help now includes emoji icons, tables, code examples, and formatted sections
- **USABILITY**: Added status indicator explanations and performance considerations
- **REFERENCE**: Direct links to GitHub documentation and example flows from within Node-RED
- **EXAMPLES**: Usage scenarios with actual message formats and configuration samples
- **TROUBLESHOOTING**: Detailed error resolution steps directly in the help panels
Version: 4.0.11
------------
- **FIX**: Fixed "Class constructor S7Endpoint cannot be invoked without 'new'" error
- **STABILITY**: Resolved naming conflict between local S7Endpoint function and imported class
- **ENHANCEMENT**: Added comprehensive example flow and usage documentation
- **DOCUMENTATION**: Created detailed EXAMPLE-USAGE.md with PLC configuration guide
Version: 4.0.10
------------
- **FIX**: Resolved "Cyclic __proto__ value" TypeError that prevented module loading
- **STABILITY**: Fixed constructor prototype chain issues in S7Endpoint node
- **ENHANCEMENT**: Improved error handling and added safe data cloning for circular references
- **TESTING**: Added comprehensive test suite for module loading and registration
Version: 4.0.9
------------
- **FIX**: Updated package-lock.json to properly include @st-one-io/nodes7 dependency
- **MAINTENANCE**: Synchronized lock file with dependency changes
Version: 4.0.8
------------
- **FIX**: Fixed "TypeError: nodes7.S7Endpoint is not a constructor" by updating to @st-one-io/nodes7
- **BREAKING**: Updated from nodes7 ^0.3.13 to @st-one-io/nodes7 ^1.1.0 for better compatibility
- **ENHANCEMENT**: Improved constructor handling for S7Endpoint and S7ItemGroup
Version: 4.0.7
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
- **ENHANCEMENT**: Code quality improvements and optimizations
Version: 4.0.6
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
Version: 4.0.5
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
Version: 4.0.4
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
Version: 4.0.3
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
Version: 4.0.2
------------
- **MAINTENANCE**: Package maintenance and dependency updates
- **STABILITY**: Minor bug fixes and improvements
Version: 4.0.1
------------
- **FIX**: Resolved compatibility issues with latest Node-RED versions
- **IMPROVEMENT**: Enhanced error handling and logging
Version: 4.0.0
------------
- **BREAKING**: Major version update with improved architecture
- **ENHANCEMENT**: Updated dependencies and modernized codebase
- **FEATURE**: Improved performance and stability
Version: 3.5.0
------------
- **NEW**: `s7 control` node adds `setvartable` function for dynamic variable table management
- **FEATURE**: Runtime reconfiguration of PLC variable monitoring without flow restart
- **ENHANCEMENT**: All `s7 in` nodes automatically adapt to new variable tables
- **EXAMPLE**: Added comprehensive example flow demonstrating recipe-based, conditional, and time-based variable switching
- **CAPABILITY**: Complete variable table replacement during operation
Version: 3.4.0
------------
- **NEW**: `s7 out` node adds `rewrite count` output
- **FIX**: `s7 out` node resolves data residue causing rewrite failure
Version: 3.3.1
------------
- **REFACTOR**: `s7 out` node improves failure rewrite logic timing
- **IMPROVEMENT**: Enhanced async-await syntax implementation
Version: 3.3.0
------------
- **NEW**: `s7 endpoint` node adds configurable failure rewrite functionality
- **FEATURE**: Automatic retry mechanism with customizable count and interval
- **ENHANCEMENT**: Improved message output structure for both `s7 in` and `s7 out` nodes
- **LOCALIZATION**: Added Simplified Chinese translation support
Version: 3.2.0
------------
- **NEW**: `s7 in` node adds device status monitoring
- **NEW**: `s7 out` node adds detailed write result reporting
Version: 3.0.0
------------
- Migrate underlying library to nodes7
- Remove optional dependency on mpi-s7 (project is now split into this and `node-red-contrib-mpi-s7`)
- Added tag validation on the editor
Version: 2.2.1
------------
- Fixes and improve PLC discovery UI
Version: 2.2.0
------------
- Adds support to `DT`, `DTZ`, `DTL` and `DTLZ` data types
Version: 2.1.1
------------
- Updates dependency of nodes7 - fixes sequence collision bug
Version: 2.1.0
------------
- Adds support for Node-RED 1.0 API
- Changes node's category to "plc"
- Implements discovery of ethernet PLCs
Version: 2.0.2
------------
- Fixes #49 - fixes regression introduced in 2.0.1 that prevented writing to array of vars
Version: 2.0.1
------------
- Fixes #48 - prevents exception being thrown when writing to unknown variables
Version: 2.0.0
------------
- Adds support for MPI-USB adapters as transport for connecting to PLCs
Version: 1.6.3
------------
- l10n - Fix translation code for German
Version: 1.6.2
------------
- l10n - Add translations to German
Version: 1.6.1
------------
- Bumps dependency of nodes7
Version: 1.6.0
------------
- Implements "s7 control" node, currently for manual control of the cycle time
Version: 1.5.3
------------
- Fixes #33: handle diff of array types, so they're emitted only when an item changes
Version: 1.5.2
------------
- Skip cyclic reading of variables if there's none configured
Version: 1.5.1
------------
- Avoids trying to connect again after closing the node
Version: 1.5.0
------------
- Enables errors to be catch by the "catch" node (#17)
- Implements "connecting" status - thanks @CarstenMaul (#19)
- Fixes connection leak introduced on 1.3.1
Version: 1.4.1
------------
- Fixes #11: Correctly parses tsap values and improve validation
Version: 1.4.0
------------
- Implements configuration option to set library's debug independently from Node-RED
- Sets timeout and TSAP defaults to old configs without them
Version: 1.3.1
------------
- Force a connection restart if we receive no callback response within 10 tries
- Retry to connect to PLC if failing to connect on flow deploy
- Improve logging
Version: 1.3.0
------------
- Implements ability to connect to PLC using local/remote TSAP instead of rack and slot only
Version: 1.2.0
------------
- Implements buttons to import and export the variable list in the S7 Eenpoint node
Version: 1.1.2
------------
- Fixes #4: Avoid EventEmitter warnings when lots of S7In nodes are used
Version: 1.1.1
------------
- Fix default value of new timeout configuration
Version: 1.1.0
------------
- Implement timeout parameter, as we may have higher delays than the default one in unstable networks
Version: 1.0.1
------------
- Fixes alignment of s7 write node
Version: 1.0.0
------------
Major Release
- Implements s7 write node
Version: 0.2.4
------------
- Enable underlying nodes7's logging when NodeRED is run in verbose mode (either with -v or at settings.js)
Version: 0.2.3
------------
- [BUGFIX] - memory leak on __STATUS__ event that was registered on the endpoint node but never removed
- [BUGFIX] - show the endpoint label if mode:single but no variable configured, label was empty
- Defer the reading cycle if the previous reading hasn't returned yet. This prevents queuing a lot of read requests in the stack
- Displays the variable's address in the config of the S7 In node for information purposes only
Version: 0.2.2
------------
- Replace arrow founction with standard function, so we're backwards compatible with previous versions of Node.JS
Version: 0.2.1
------------
- Add repository/bugs information to package.json
Version: 0.2.0
------------
- Implements new reading mode "All variables, one per message"
- Help text of the in node rewritten
- s7 endpoint now stores the variable as an array, not as stringified JSON. Backwards compatible.
Version: 0.1.1
------------
- [BUGFIX] Fix require of EventEmitter (#1)
Version: 0.1.0
------------
- Initial release