IO-Link (seltener IOLink oder IO Link) ist ein standardisiertes digitales Kommunikationssystem für die Automatisierungstechnik. Die Technologie ist in IEC 61131-9 beschrieben und verbindet Sensoren und Aktoren mit übergeordneten Steuerungssystemen. Im Unterschied zu klassischen binären oder analogen Schnittstellen ermöglicht IOLink eine bidirektionale Kommunikation: Prozesswerte, Diagnosedaten und Geräteparameter können nicht nur übertragen, sondern auch gezielt ausgelesen oder verändert werden.
Inhalt
Ein wesentlicher Vorteil liegt darin, dass IO-Link keine spezielle Feldbusverkabelung benötigt. Die Kommunikation erfolgt über einfache, ungeschirmte Standardleitungen, typischerweise mit drei oder vier Adern. IO-Link ist somit insbesondere spannend für Anwendungen aus der Sensortechnik. In der Praxis werden häufig M5-, M8- oder M12-Steckverbinder verwendet. Damit lässt sich IO-Link in vielen Maschinen- und Anlagenkonzepten einsetzen, ohne die grundlegende Anschlusstechnik komplett neu zu denken.
IO-Link ist kein Feldbus
IO-Link wird häufig im Umfeld von Feldbussen und Industrial Ethernet genannt, ist selbst aber kein Feldbus. Die Technologie ist vielmehr eine Weiterentwicklung der klassischen Punkt-zu-Punkt-Anbindung von Sensoren und Aktoren. Jedes IO-Link Device wird direkt mit einem Port eines IO-Link Masters verbunden.
Ein typisches IO-Link System besteht aus drei Elementen:
Der IO-Link Master ist das zentrale Bindeglied zwischen Feldebene und Steuerungsebene. Er kommuniziert mit den angeschlossenen IO-Link Devices und gibt die Daten an eine übergeordnete Steuerung weiter, beispielsweise eine SPS. Die Anbindung des Masters an die Steuerung erfolgt dann über ein Feldbus- oder Industrial-Ethernet-System.
Die IO-Link Devices sind die eigentlichen Feldgeräte. Dazu gehören Sensoren, Aktoren, Ventilinseln, Signalgeräte, Identifikationssysteme oder andere Komponenten, die Daten liefern oder Aktionen ausführen.
Die Standardverkabelung verbindet Master und Device. Da IO-Link auf der bekannten Anschlusstechnik aufsetzt, kann es in vielen Anwendungen mit bestehenden Kabel- und Steckverbinderkonzepten kombiniert werden.
Technische Details von IO-Link
Kommunikationsgeschwindigkeiten
IO-Link kennt verschiedene Übertragungsraten. Diese werden als COM1, COM2 und COM3 bezeichnet. Für moderne Anwendungen ist vor allem COM3 relevant, da damit die kürzesten Zykluszeiten und die höchste nutzbare Echtzeit-Datenübertragung erreicht werden.
Die tatsächliche nutzbare Datenrate hängt jedoch nicht nur von der COM-Geschwindigkeit ab. Entscheidend ist auch, wie viele Prozessdaten und On-Demand-Daten innerhalb einer Nachrichtensequenz übertragen werden. Deshalb muss bei der Bewertung einer IO-Link Verbindung immer die konkrete M-Sequence betrachtet werden.
Message Sequence Types
Die Länge einzelner Geräte- und Masternachrichten wird durch den jeweiligen Message Sequence Type bestimmt. In der IO-Link Spezifikation werden verschiedene M-Sequence Types beschrieben. Für neue Designs ist insbesondere Version 1.1 relevant. Der Typ 1_x ist auf Version 1.0 Geräte beschränkt und wird für neue Entwicklungen nicht mehr empfohlen.
Für die Echtzeitbetrachtung sind vor allem die Prozessdaten entscheidend. In vielen Darstellungen werden diese als PD bezeichnet. Zusätzlich gibt es OD, also On-Demand-Daten. Auch wenn OD nicht direkt die zyklische Prozessdatenmenge erhöht, beeinflusst OD die Gesamtlänge der Übertragung und damit die erreichbare Zykluszeit.
Die wichtigsten Abkürzungen in diesem Zusammenhang sind:
- MC = M-Sequence Control
- CKT = Checksum Type
- PD = Process Data
- OD = On-Demand Data
- CKS = Checksum Status
Ein Oktett entspricht dabei 8 Bit. Diese Bezeichnung wird auch in der IOLink Norm verwendet.
Feste und variable Nachrichtentypen
Bei den Message Sequence Types 2_1 bis 2_6 ist die Anzahl der PD- und OD-Oktette festgelegt. Das bedeutet: Die Struktur der zyklischen Kommunikation ist für den jeweiligen Typ vordefiniert.
Anders verhält es sich beim Typ 2_V. Hier kann die Anzahl der Prozessdaten und On-Demand-Daten in einem bestimmten Bereich konfiguriert werden. Für PD sind Werte zwischen 1 und 32 Oktetten möglich. Für OD sind 1, 2, 8 oder 32 Oktette möglich.
Diese Flexibilität ist für das Systemdesign wichtig. Ein Gerät mit sehr wenigen Prozessdaten kann auf kurze Zykluszeiten optimiert werden. Ein Gerät mit umfangreicheren Prozessdaten kann dagegen eine größere Datenmenge pro Zyklus übertragen. Die Auswahl des passenden Verhältnisses zwischen PD und OD beeinflusst also direkt das zeitliche Verhalten der Kommunikation.
Zykluszeit und Echtzeit-Bandbreite
Die Zykluszeit ergibt sich aus der Summe der einzelnen Zeitabschnitte innerhalb einer IO-Link Kommunikation. Dazu gehören die Master-Nachricht, die Antwort des Devices, Umschaltzeiten und weitere Protokollanteile. Erst die vollständige Betrachtung dieser Bestandteile zeigt, wie lange ein Kommunikationszyklus tatsächlich dauert.
Die Echtzeit-Bandbreite lässt sich aus der Länge der Prozessdaten und der Zykluszeit berechnen. Vereinfacht ausgedrückt:
Echtzeit-Bandbreite = Prozessdatenmenge pro Zyklus / Zykluszeit
Werden beispielsweise 32 Oktette Prozessdaten übertragen, entspricht das 32 × 8 Bit = 256 Bit. Bei einer Zykluszeit von 2,24 ms ergibt sich:
256 Bit / 2,24 ms = 114,3 kbit/s
Dieses Beispiel zeigt, dass mit COM3 und einer passenden M-Sequence eine hohe nutzbare Prozessdatenübertragung erreicht werden kann.
Hardware-seitige Lösung
Ein Master benötigt auf Hardwareebene eine Schnittstelle zwischen der digitalen Steuerlogik und der 24-V-Feldebene. Der Mikrocontroller stellt typischerweise UART, GPIOs und SPI bereit. Die elektrische Umsetzung auf die IO-Link-Leitung übernimmt ein Physical-Layer-Transceiver. Ein Beispiel dafür ist der MAX14824 IO-Link Master Transceiver von Analog Devices.
Der MAX14824 integriert den Physical Layer für einen Master-Port. Der Baustein unterstützt IO-Link v1.0 und v1.1 sowie die Datenraten COM1, COM2 und COM3. Zusätzlich enthält er einen C/Q-Treiber, einen C/Q-Empfänger, eine zusätzliche digitale Eingangsstufe für DI, Schutzfunktionen, interne Spannungsregler und eine SPI-Schnittstelle für Konfiguration und Diagnose. Der C/Q-Ausgang ist für mindestens 300 mA Laststrom spezifiziert, unterstützt Push-Pull-, High-Side- und Low-Side-Betrieb und besitzt eine Kurzschlusserkennung.
Ein einzelner IO-Link-Master-Port besteht typischerweise aus einem Mikrocontroller, einem IO-Link-Master-Transceiver, einer 24-V-Versorgung, Schutzbeschaltung und dem Feldanschluss. In vielen Anwendungen wird ein M12-Steckverbinder verwendet. Dort liegt L+ üblicherweise auf Pin 1, L− auf Pin 3 und C/Q auf Pin 4. Optional kann Pin 2 als zusätzlicher digitaler Eingang DI verwendet werden.
Die C/Q-Leitung ist die zentrale Leitung des IO-Link-Ports. Sie wird im SIO-Betrieb als digitaler Schaltausgang oder Schalteingang genutzt und im IO-Link-Betrieb als bidirektionale Kommunikationsleitung. Der Transceiver muss diese Leitung aktiv treiben, hochohmig schalten und gleichzeitig den Leitungszustand auswerten können.
Beim MAX14824 erfolgt diese Kopplung über den C/Q-Pin. Intern sitzt dort ein konfigurierbarer Treiber mit High-Side- und Low-Side-Schaltern. Dadurch kann der Baustein die Leitung gegen VCC ziehen, gegen GND ziehen oder im hochohmigen Zustand als Eingang verwenden.
Kommunikation mit Host
Auf Seiten des Mikrocontrollers werden mehrere digitale Signale benötigt. Für die eigentliche IO-Link-Kommunikation sind vor allem TXC, TXQ, TXEN und RX relevant.
TXC ist der Transmit-Communication-Eingang. Dieses Signal kommt typischerweise vom UART-TX des Mikrocontrollers. Darüber werden die seriellen IO-Link-Daten an den Transceiver übergeben.
RX ist der Receiver-Ausgang des Transceivers. Dieses Signal wird mit dem UART-RX des Mikrocontrollers verbunden. Der Transceiver wertet den Pegel auf C/Q aus und stellt dem Mikrocontroller daraus ein Logiksignal zur Verfügung.
TXEN aktiviert den C/Q-Treiber. Wird TXEN gesetzt, treibt der MAX14824 die C/Q-Leitung aktiv. Wird TXEN deaktiviert, ist der Treiber ausgeschaltet und die Leitung kann empfangen werden. TXEN kann beispielsweise mit einem RTS-Signal des Mikrocontrollers oder mit einem GPIO gesteuert werden.
TXQ ist ein weiterer Transmit-Level-Eingang. TXQ wird intern mit TXC logisch verknüpft. Wird TXQ nicht separat verwendet, muss der Eingang auf High gelegt werden. In manchen Designs wird TXQ von einem GPIO gesteuert, um zwischen Kommunikation und SIO-Betrieb zu unterscheiden oder definierte Pegel auf C/Q zu erzeugen.
Damit ergibt sich eine typische Zuordnung:
UART-TX des Mikrocontrollers → TXC
UART-RX des Mikrocontrollers ← RX
GPIO oder RTS des Mikrocontrollers → TXEN
GPIO des Mikrocontrollers → TXQ
SPI des Mikrocontrollers → CS, SCLK, SDI, SDO
Interrupt-Eingang des Mikrocontrollers ← IRQ
GPIO für Wake-up-Steuerung → WUEN
Kommunikation und Schaltbetrieb
Die C/Q-Leitung ist elektrisch eine 24-V-Leitung, logisch aber die eigentliche IO-Link-Kommunikationsschnittstelle. Im IO-Link-Modus werden die seriellen Daten halbduplex über C/Q übertragen. Der Master sendet, indem der Transceiver den C/Q-Treiber aktiviert und die Leitung entsprechend der TXC/TXQ-Signale schaltet. Danach wird der Treiber deaktiviert, und der Master empfängt die Antwort des Devices über den C/Q-Empfänger.
Dieser Wechsel zwischen Senden und Empfangen ist ein zentrales Konzept. Deshalb ist TXEN ein wichtiges Steuersignal. Es verhindert, dass Master und Device gleichzeitig aktiv gegeneinander treiben. In einer praktischen Firmware muss TXEN zeitlich passend zur UART-Übertragung gesetzt und wieder gelöscht werden.
Im SIO-Modus kann C/Q als gewöhnlicher digitaler Schaltkanal verwendet werden. Der MAX14824 kann dafür als Push-Pull-, High-Side- oder Low-Side-Treiber konfiguriert werden. Im Push-Pull-Betrieb schaltet C/Q aktiv zwischen VCC und GND. Im High-Side-Betrieb wird die Leitung gegen VCC geschaltet, im Low-Side-Betrieb gegen GND. Diese Betriebsarten werden über Register des Bausteins konfiguriert.
Wake-up-Erzeugung
IO-Link Devices werden aus dem SIO-Zustand durch einen Wake-up-Puls in den IO-Link-Kommunikationsmodus gebracht. Der MAX14824 besitzt dafür eine automatische Wake-up-Polarity-Generation.
Das Signal WUEN aktiviert diese Wake-up-Funktion. Vor dem Wake-up ist der C/Q-Treiber deaktiviert. Der Baustein erkennt den aktuellen Pegel auf C/Q und erzeugt anschließend einen Wake-up-Puls mit passender Polarität. Der Mikrocontroller muss dafür nicht selbst die Polarität der Leitung auswerten. Er aktiviert WUEN und erzeugt über TXC oder TXQ einen typischen 80-µs-Puls. Der Transceiver setzt daraus den korrekten Wake-up-Puls auf der C/Q-Leitung um.
Für die Hardware bedeutet das: WUEN sollte auf einen steuerbaren GPIO des Mikrocontrollers geführt werden. Die Firmware kann damit gezielt zwischen normalem Kommunikationsbetrieb und Wake-up-Erzeugung umschalten.
Konfiguration und Diagnose
Neben den UART-nahen Signalen besitzt der MAX14824 eine SPI-Schnittstelle. Über CS, SCLK, SDI und SDO wird der Baustein konfiguriert und überwacht. Die SPI-Schnittstelle arbeitet mit bis zu 12 MHz. Außerdem besitzt der MAX14824 Adresspins A0 bis A3, wodurch bis zu 16 Bausteine über Adressierung in einem System verwendet werden können. Das ist besonders für mehrkanaligeMaster relevant.
Über SPI werden unter anderem der C/Q-Treibermodus, Slew-Rate, Receiver-Filter, Current-Sink-Funktionen, Wake-up-Modus und Statusinformationen konfiguriert. Für COM3 wird beispielsweise eine höhere Slew-Rate verwendet. Für niedrigere Datenraten kann die Slew-Rate reduziert werden, um EMV-Abstrahlung und Reflexionen zu begrenzen.
Auch Fehlerzustände werden über SPI ausgelesen. Dazu gehören C/Q-Faults, Unterspannung, Temperaturwarnung und weitere Statusbits. Der IRQ-Ausgang kann den Mikrocontroller informieren, wenn ein Ereignis aufgetreten ist.
Zusammenfassung
IO-Link erweitert die klassische Sensor- und Aktoranschlusstechnik um digitale, bidirektionale Kommunikation. In einem Netzwerk aus Master IO Link Devices und IO-Link-Sensoren kann so eine kabelarme Datenübertragung zu hohen Geschwindkeiten sichergestellt werden. Die Technologie ermöglicht die Übertragung von Prozesswerten, Diagnosedaten und Geräteparametern über einfache Standardleitungen. Dadurch wird die Feldebene transparenter und besser in moderne Automatisierungssysteme integrierbar.
Damit kann IO-Link Kommunikationszyklen unter einer Millisekunde erreichen, sofern Geräteentwickler das Verhältnis zwischen Prozessdaten und On-Demand-Daten passend auslegen. Für moderne Sensoren und Aktoren ist IO-Link deshalb eine wichtige Schnittstelle zwischen klassischer Anschlusstechnik und digitaler Automatisierung.