We are a company with the aim to provide a fast, easy and a simple way
to connect to
devices and access them full featured without
effort by a programming/scripting language like
Matlab out of the box.
It is designed for configuration, testing, analysis, production, data recording and many more.
A special feature is the independent layering of the hardware. Currently PC and Raspberry-PI are supported as hosts.
As IO-Link Masters TMG based USB masters (most on the market) and Ethernet-capable TMG-based masters are supported. Ifm masters partly supported, more to come. See list of Supported Systems below. Balluff-Masters are supported additionally with its integrated web-server functions. If some master hardware is missing or you have your own, we can also integrate. Please feel free to send us a request.
IO-Link devices can be accessed at any level of abstraction, from raw to high level IODD device description access.
See the Use cases and Features for more details and our Getting started as an example. Please don't hesitate to ask for a demo.
The Siogeen IoddCom is designed for various use cases for best working experience with IO-Link devices, simple usage and time saving thus both saving costs and offering time for the real tasks.
Communicate to IO-Link devices out of the box from most commonly used scripting/programming languages like Python, Octave or Matlab.
Inspect all data types, variables, process data and events available by the device description (IODD) at various detail levels.
Complex data types like arrays and records can be accessed in an easy and intuitive way.
Execute intuitive even more simplified scripting like text in evaluation mode for reading and writing of device variables.
All data types are supported and can be read and written by their names or values depending on the needs.
Use exception handling or last error checking at your need...
Investigate into errors of the connected IO-Link devices sniffing like. See and log the data at your needed abstraction level.
Connect to specific devices by its name or tag and also to multiple devices to do mass device configuration and/or testing.
An integrated connection manager allows overview of connected devices and disconnecting unused devices.
The Siogeen IoddCom is a universal interface for IO-Link devices. It is easy to integrate and available for various programming languages, like Python, Octave and Matlab. Derive native and complex data types and manage variable access with only the use of the belonging IODD-file. Automatically connect with devices or just simulate them and start coding. Common use cases are testing, logging, analysing, scripting, configuration, production and development of IO-Link devices.
for variables due to their names or IDs as specified at the IODD or via indices and sub indices
stream the whole device activity down to a binary level
for various programming languages like Python, Octave, Matlab .... others on request
regular version updates, on track with the IO-Link standard
development of customer features (languages, drivers, ...)
extensive documentation with use case examples
simulate your devices via IODD-files
store and load device configurations
access multiple devices simultaneously with same coding interfaces
Support for variables, system commands, events, process data...
Analyse and compare your connections for access times and repeats
Supported operating systems, IO-Link masters and programming languages.
Windows, Linux, Raspberry-Pi and macOS2
1) Balluff, Belden, Murrelektronik, Pepperl+Fuchs, Baumer, Leuze, SICK AG, Turck, Wenglor and others
2) for macOS 13+, older versions on request
3) All Ethernet-based ifm IO-Link masters AL1xxx should be supported. Functionality depending on ifm master type. Yet reduced functionality, work in progress...
4) Support for ifm USB master AL1060 experimental
5) Octave support only for Linux yet
6) Yet no official support for Matlab, we add it on request
Here we present the speed measurements of various IO-Link masters helping you for deciding in speed critical environments:
|master||connection||COM speed||master cycle time||PD/DI||read 16-bit variable (ISDU)|
|Balluff BNI00XX||WIFI||COM 2||2.7 ms||6-8 / 5-11 ms||52-71 / 49-56 ms|
|ifm AL1100||WIFI||COM 2||3.9 ms||70-82 ms||69-120 ms|
|TMG V2||USB||COM 2||2.7 ms||1(-2) ms||32-40 ms|
|TMG V3||USB||COM 2||2.3 ms||1(-2) ms||21-26 ms|
|Balluff BNI00XX||Eth||COM 2||2.7 ms||2-3 / 1-2 ms||42-51 ms|
|ifm AL1100||Eth||COM 2||3.9 ms||59-60 ms||55-65 ms|
|ifm AL1950||Eth||COM 3||5.0 ms||4-5 ms||28-36 ms|
cycle time = frame time between IO-Link master and device
COM = IO-Link speed (1 = 4800 baud, 2 = 38400 baud, 3 = 230400 baud)
A short introduction on how to get started with the Siogeen IoddCom.
Note: Pythons packager pip is required!
Use the provided script (here for Python 3.8):
For Linux the shell script:
user@computer:./Downloads/IoddCom-Install$ ./install.sh --user 3.8
For Windows the batch script:
user@computer:./Downloads/IoddCom-Install$ install.bat 3.8
>>> from siogeen import IoddCom
>>> IoddCom.activateLicense('Path-to-license', token)
from siogeen import IoddCom
i = IoddCom()
i.write('Application Specific Tag', 'my device')
i.read('Application Specific Tag')
Do you have any questions? Please do not hesitate to contact us directly. We are happy to provide you a free demo license and a pdf documentation upon request. If you wish we can also perform an online/offline demo presentation for you. To check your masters before please see Supported Systems and the IoddComChecker.
List of latest news. Click here to get to the News page.
Our first news: the presentation of IoddCom