The Siemens S7 adapter is based on Snap7, with Snap7 when the S7 adapter is also installed, and the actual S7 communication between ioBroker and the S7 is organized via TCP / IP.
It is therefore necessary that the S7 has an Ethernet interface (integrated in the CPU or as a separate CP) and can communicate via TCP / IP with the hardware on which ioBroker is running.
It is assumed that the user has the necessary knowledge of TCP / IP communication and is able to configure and program the S7 accordingly using Step7. Proficient use of a PC and various operating systems is also a prerequisite. These requirements are certainly not a challenge for someone who is considering communication between ioBroker and an S7.
The format of the addresses for Inputs, Outputs or markers is "X.Y", where X is byte offset and Y is the bit offset in the byte.
The format of the addresses for DBs is DBZ +X.Y
, where z
is number of DB
, like DB34 +12.0
On some Linux systems, the build essentials must be installed to get this adapter work. You can install it with:
sudo apt-get update
sudo apt-get install build-essential
Under windows is Visual Studio 2013 (Community Edition is enough) or later is required to get it running. Python 2.x is required too. Not 3.x.
You can use 4 time offset modes for S7TIME:
- Local: the time value will be not modified
- UTC: local time offset will be added to received time. E.g., for Germany: -60 Minutes in winter and -120 Minutes in summer.
- Set offset (use summer/winter): Given offset in minutes will be subtracted from received time and in summer additionally, 60 minutes will be subtracted.
- Set offset (no summer/winter): Just the given offset in minutes will be subtracted from received time. No matter in winter or in summer.
S5 decoded as described here: http://www.plccenter.cn/Siemens_Step7/Format_des_Datentyps_S5TIME_Zeitdauer.htm
To use ioBroker with Tia Portal, ou need to disable the optimisation of blocks:
Right-click on the data block and then on 'Properties'. Under attributes, you will find the option "Optimized block access". Take off the hook. After recompiling, the addresses are displayed in the data block ("Offset" column).
You can read about it here too.
More description could be found here.
- (bluefox) Updated GUI packages
- (Bettman66) Fix REAL number parsing error
- IMPORTANT: Node.js 16+ is required to run this version!
- (Apollon77) Update dependencies to make adapter work with Node.js 20+
- (bluefox) Updated GUI packages
- (bluefox) Added ukrainian translation
- (bluefox) Updated GUI packages
- (bluefox) Added preparations for ioBroker cloud
- (bluefox) Migrate GUI tu muiV5
- (jogibear9988) Removed duplicated code
- (jogibear9988) Implemented S5TIME support (must be tested on a real device)
- (bluefox) Updated releaser
- (Apollon77) Better handle invalid entries with empty Address
- (Apollon77) make sure strings work correctly
- (Apollon77) Fix several crash cases (IOBROKER-S7-17, IOBROKER-S7-19, IOBROKER-S7-1C, IOBROKER-S7-18)
- (bluefox) Corrected type of "write" attribute
- (bluefox) Corrected import of last line
- (bluefox) Change edit mode behaviour
- (bluefox) Corrected the error in GUI
- (Apollon77) Add adapter tier for js-controller 3.3
- (bluefox) Corrected the type of states
- (bluefox) New configuration page on react
- (Apollon77) Fix pot crash case (Sentry IOBROKER-S7-16)
- (Apollon77) Make sure data are of correct type (Sentry IOBROKER-S7-K)
- (Apollon77) null values will no longer be tried to send but give error message (Sentry IOBROKER-S7-8)
- (Apollon77) Prevent some more crash cases (IOBROKER-S7-1, IOBROKER-S7-9, IOBROKER-S7-E, IOBROKER-S7-F, IOBROKER-S7-G)
- (Apollon77) Prevent warnings in js-controller 3.2
- (Apollon77) fix
info.connection
state
- (Apollon77) Prevent error case (Sentry IOBROKER-S7-4)
- (Apollon77) js-controller 2.0 is now required at minimum
- (smiling_Jack) Bugfix in the Admin
- (Apollon77) Fix object access issue
- (Apollon77) update node-snap7 library
- (Steff42) Make sure objects ids/names are strings
- (Apollon77) reconnection handling on timeouts optimized
- (Apollon77) Support for nodejs 10 on Windows
- (bluefox) The time offset was added
- (Apollon77) Fix LOGO! support
- (bluefox) Fix strings
- (bluefox) fix names if they have more than one space
- (bluefox) Decode error codes
- (bluefox) Error by the DB import is fixed
- (bluefox) Fix read of DB (range error)
- (Apollon77) Enhance object data to allow writing if available
- (bluefox) Add export from Graphpic
- (bluefox) Detect DB and db in addresses
- (bluefox) Activate save button if something was deleted
- (bluefox) Fix DB bit offset bug if starting not from 0
- (Apollon77) Upgrade node-snap7 library to current version
- (Apollon77) Fix history handling
- (bluefox) Fix button text: Import
- (bluefox) add comment about python
- (bluefox) implement string read and write
- (bluefox) implement auto-increment of addresses.
- (bluefox) fix length
- (bluefox) implement export import from/to CSV
- (bluefox) fix small errors in config
- (bluefox) implement import/export for inputs and outputs too.
- (bluefox) add translation
- (bluefox) added support of Logo!
- (bluefox) add S7time
- (bluefox) support rooms and roles
- (bluefox) it works
- (bluefox) update packets
- (bluefox) fix creation of objects
- (bluefox) improve performance and enable DB2 3.9 addresses.
- (smiling_Jack) Bugfix send info states
- (smiling_Jack) Remove unneeded console.log
- (smiling_Jack) Bugfix send to SPS
- (smiling_Jack) Bugfix reconnect on connection lost
- (smiling_Jack) Bugfix typo (Adress, Merkers)
- (smiling_Jack) Bugfix translation Admin
- (smiling_Jack) Add S5Time as Type
- (smiling_Jack) Bugfix History
- (smiling_Jack) Bugfix (fast value change)
- (bluefox) translate admin
- (bluefox) remove jshint warnings
- (bluefox) add
info.connected
and renameinfo.connection
toinfo.state
- Bugfix startup
- Bugfix add states
- change import options
- redesign Admin UI
- add write as Pulse
- Bugfix delete unused objects
- Bugfix start file
- Bugfix DB import
- Working on Admin style
- Add Units
- Bugfix start file
The MIT License (MIT)
Copyright (c) 2014-2024 bluefox dogafox@gmail.com,
Copyright (c) 2014-2016 smiling_Jack steffen.schorling@googlemail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.