Siogeen logoSiogeen IoddCom

a generic interface for IO-Link devices


simple and fast access to IO-Link devices using Python, Octave or Matlab
on PC or Raspberry-PI

About

We are a company with the aim to provide a fast, easy and a simple way to connect to IO-Link devices and access them full featured without effort by a programming/scripting language like Python, Octave or 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.

Use cases

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.

grade

Out of the box

Communicate to IO-Link devices out of the box from most commonly used scripting/programming languages like Python, Octave or Matlab.

search

Inspect

Inspect all data types, variables, process data and events available by the device description (IODD) at various detail levels.

phone_iphone

Intuitive

Complex data types like arrays and records can be accessed in an easy and intuitive way.

cloud

Scripting Interface

Execute intuitive even more simplified scripting like text in evaluation mode for reading and writing of device variables.

view_list

Value naming

All data types are supported and can be read and written by their names or values depending on the needs.

flash_on

Error handling

Use exception handling or last error checking at your need...

build

Error analysis and Debugging

Investigate into errors of the connected IO-Link devices sniffing like. See and log the data at your needed abstraction level.

dns

Multi device environments

Connect to specific devices by its name or tag and also to multiple devices to do mass device configuration and/or testing.

dynamic_form

Connection manager

An integrated connection manager allows overview of connected devices and disconnecting unused devices.


Siogeen IoddCom features

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.

eco

Easy access

for variables due to their names or IDs as specified at the IODD or via indices and sub indices

details

Stream activity

stream the whole device activity down to a binary level

school

Unified implementations

for various programming languages like Python, Octave, Matlab .... others on request

schedule

Longtime support

regular version updates, on track with the IO-Link standard

home_repair_service

Individual development

development of customer features (languages, drivers, ...)

menu_book

Full documentation

extensive documentation with use case examples

add_to_home_screen

Simulate devices

simulate your devices via IODD-files

push_pin

Snapshots + Data Storage

store and load device configurations

library_books

Collections

access multiple devices simultaneously with same coding interfaces

thumb_up_alt

Full Standard support

Support for variables, system commands, events, process data...

bar_chart

Connection statistics

Analyse and compare your connections for access times and repeats

Supported Systems

Supported operating systems, IO-Link masters and programming languages.

monitor

Systems

Windows, Linux, Raspberry-Pi and macOS2

scanner

Masters

TMG and all TMG-based USB-masters1,
all TMG-based Ethernet-capable masters (EtherCat, Ethernet/IP, PROFINET)1,
ifm34


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

IoddComChecker

To check if your masters are working with the Siogeen IoddCom you can install the IoddComChecker or the respective Gui!

Your IO-Link master is not found or you are using another system or master or want to use another environment? Please don't hesitate to contact us!

Not supported masters

The following masters are not supported yet:
  • RevolutionPi RevPi
  • Pepperl & Fuchs comtrol
  • Baumer USB-C and senscontrol
  • Germbedded
  • TEConcept
  • iO-Fly
  • iq Development
You want to work with that? Please don't hesitate to contact us!

Speed results

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
Legend: / = diffrent hardware PD = processs data DI = digital input

cycle time = frame time between IO-Link master and device

COM = IO-Link speed (1 = 4800 baud, 2 = 38400 baud, 3 = 230400 baud)

Getting started

A short introduction on how to get started with the Siogeen IoddCom.

1. Install Python

Note: Pythons packager pip is required!

2. Install Siogeen IoddCom:

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

3. License activation

>>> from siogeen import IoddCom
>>> IoddCom.activateLicense('Path-to-license', token)

4. Hello World

from siogeen import IoddCom
i = IoddCom()
i.help()
i.connect('sim')
i.write('Application Specific Tag', 'my device')
i.read('Application Specific Tag')

Contact

Feel free to contact us for a IoddCom demo or to purchase a license.

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.

OS:
Languages:
Interfaces:
Vendors:

* These fields are required.

News

List of latest news. Click here to get to the News page.

Newsletter

Subscribe to our newsletter now and get notified about updates, product news and special offers. Choose your interests and subscribe only to what is interesting for you.
This way you will always be up to date and benefit from current offers.