IO-Link
Was ist IO-Link?
IO-Link ist ein standardisiertes, herstellerunabhängiges Kommunikationsprotokoll für die Verbindung von Sensoren und Aktoren mit einer übergeordneten Steuerung, wie zum Beispiel einer SPS. Es ermöglicht die bidirektionale Kommunikation zwischen den einzelnen Geräten und der Steuerung über eine einzige Verbindung. Dadurch können Sensoren und Aktoren nicht nur Daten übertragen, sondern auch parametriert und diagnostiziert werden, was zu einer flexibleren und effizienteren Steuerung von Industrieanlagen führt.
IO-Link wird in verschiedenen Branchen eingesetzt, darunter die Fertigungsindustrie, die Prozessautomatisierung und die Logistik.
Unser IO-Link Device Stack
Der tecmata Device Stack ist konform zur Interface and System Specification Version 1.1.3 (IEC 61131-9) umgesetzt.
Die Struktur, Zustandsautomaten, Schnittstellen und Namen der Elemente folgen exakt der Vorgabe der Spezifikation, dies hilft beim Nachvollziehen der Abläufe.
Der Stack ist als ISO-C11 Code erstellt und hält die gängigen Programmierstandards für Safety- und Security-Produkte ein, u.a. MISRA-C 2023 und CERT-C.
tecmata hat seit vielen Jahren einen Schwerpunkt im Bereich von Safety SW-Entwicklung und Test gesetzt, diese Erfahrungen geben wir in jedem Produkt weiter.
Alle relevanten Conformance Tests (der IO-Link Test Specification) sind zusätzlich im SW-Test umgesetzt und werden mit jeder Anpassung in unserer CI/CD-Umgebung zusammen mit den Programmierstandards automatisiert geprüft.
Die Implementierung ist bis zum Core hardware-unabhängig und kann daher in nahezu jeden aktuellen Controller mit den geläufigen Compilern eingebunden werden. Unsere Integrationsanleitung unterstützt dabei einfach die Portierung auf eine bestimmte Plattform.
Technische Daten
Technische Daten des IO-Link Stacks
- Konformität: Entspricht der Interface Spezifikation V.1.1.3 (IEC 61131-9) und wurde gegen die Test Spezifikation V.1.1.3 geprüft.
- Entwicklung: Implementiert in ANSI-C und geprüft nach den aktuellen MISRA-C (2023) und SEI CERT Regeln.
- Unterstützte Funktionen: Vollständige Unterstützung aller Funktionalitäten der Spezifikation, einschließlich aller drei Übertragungsraten.
- Prozessorunabhängigkeit: Entwickelt unabhängig vom Prozessortyp, somit flexibel einsetzbar.
- Leistungsschwache Controller: Auch für leistungsschwache Controller geeignet, wie z.B. STM32F0 (32 MHz) mit COM-2 und 30 Byte Prozessdaten sowie einer MinCycleTime von 10 ms:
- Speicheranforderungen: Vollständiger Stack, inklusive FreeRTOS und minimaler Applikation:
- Flash: ~79 KB
- RAM: ~12 KB
- Peripherieanforderungen: Benötigt 2 Timer und 1 UART.
- Speicheranforderungen: Vollständiger Stack, inklusive FreeRTOS und minimaler Applikation:
Integration
Einfach und flexibel: Integration des IO-Link Stacks
Unsere einfache API erleichtert die Integration des IO-Link Stacks in bestehende Systeme, unabhängig davon, ob ein RTOS oder eine benutzerdefinierte Ansteuerung verwendet wird.
Flexible Konfiguration
Die Eigenschaften des Stacks wie Übertragungsrate, Geräte-ID und viele weitere Parameter können komfortabel angepasst werden. Produkt- und unternehmensspezifische Parameter sind klar vom IO-Link Core getrennt, was eine einfache Verwaltung unabhängig von der Core-Version ermöglicht.
Zukunftssicher
Änderungen in der IO-Link Spezifikation beeinträchtigen die Applikations-Parameter und Konfigurationen nicht, sodass Ihre Implementationen zukunftssicher bleiben.
Unterstützung und Beispielimplementierungen
tecmata bietet umfassende Unterstützung bei der Integration des Stacks. Dank unserer Erfahrung mit der Portierung auf verschiedenste Controller und Transceiver bieten wir Ihnen praxisnahe Beispielimplementierungen, die Ihnen den Einstieg erleichtern.
Extensions
Die IO-Link Spezifikation definiert gerätespezifische Applikationen, die eng mit dem Core interagieren. Der Core selbst bleibt unabhängig von der gewählten Applikation und der angeschlossenen Hardware.
Wir bieten umfassende Unterstützung für diese Applikationen an. Unsere Implementierung trennt klar zwischen gerätespezifischen Anpassungen und dem Verhaltensmodell der Applikationen, sodass Sie sich ausschließlich auf die Parametrierung und Ihre Anwendung konzentrieren können.
Parameter Manager (PM)
Der Parameter Manager verwaltet alle Geräteeinstellungen, einschließlich Lesen, Schreiben und Überprüfen der Parameter. Diese können entweder direkt oder mithilfe von ISDUs (Indexed Service Data Units) bearbeitet werden. Auch Block-Parameter werden unterstützt.
Der Parameter Manager spielt eine zentrale Rolle im Backup- und Restore-Prozess und arbeitet eng mit dem Data Storage zusammen.
Data Storage (DS)
Geänderte Parameter werden dem Data Storage gemeldet und bei Bedarf nicht-flüchtig gespeichert. Der Data Storage behandelt auch Upload- und Download-Anfragen vom Master.
Event Dispatcher (ED)
In der Applikation und im IO-Link Stack können Ereignisse auftreten, die für die übergeordnete Steuerung relevant sind. Der Event Dispatcher verwaltet diese Ereignisse, klassifiziert als „Error“, „Warning“ oder „Notification“. Er informiert den Master über das Vorhandensein von Events und gibt diese auf Anfrage weiter.
Process Data Exchange (PDE)
Der zyklische Prozessdatenaustausch wird vom PDE unterstützt. Dies ist die Schnittstelle, über die die Applikation Daten vom Master erhält und Informationen zurückliefert.
Profile
Profile unterstützen die Interoperabilität zwischen verschiedenen Geräten und Systemen, daher gibt es für verschiedene Produktgruppen zusätzliche Profile.
Das Common Profile bei IO-Link definiert zentrale Eigenschaften und Funktionen, die für alle IO-Link Devices gelten. Es stellt eine standardisierte Grundlage bereit, die eine konsistente und interoperable Implementierung von IO-Link ermöglicht.
Das Common Profile, in der aktuellen Version 1.2 ist bereits Bestandteil unseren Stacks. Zum Common Profile gehören u.a.
- Device Identification
- Device Diagnosis
- Extended Identification
Lieferumfang
Unser IO-Link Stack bietet Ihnen alles, was Sie für eine erfolgreiche Integration benötigen. Der Lieferumfang umfasst:
1. Quelloffener IO-Link Stack in C
Unser IO-Link Stack ist in der Programmiersprache C geschrieben und als Quellcode verfügbar. Dies ermöglicht Ihnen maximale Flexibilität und Einblicke, um den Stack optimal in Ihre spezifische Hardware- und Softwareumgebung zu integrieren.
2. Umfassendes Integration-Manual
Das Integration-Manual führt Sie Schritt für Schritt durch den gesamten Integrationsprozess. Es enthält detaillierte Anweisungen zur Einrichtung des Stacks, zur Anpassung an Ihre spezifischen Anforderungen und zur Implementierung der gerätespezifischen Applikationen.
3. Beispielanwendung
Eine voll funktionsfähige Beispielanwendung ist im Lieferumfang enthalten. Diese dient als praktische Referenz und erleichtert Ihnen den Einstieg in die Implementierung und Nutzung des IO-Link Stacks. Die Beispielanwendung zeigt typische Anwendungsfälle und hilft Ihnen, die Prinzipien und Best Practices der IO-Link Integration zu verstehen.
4. Dokumentation und Support
Neben dem Integration-Manual erhalten Sie eine umfassende Dokumentation im Quellcode, die alle Aspekte des IO-Link Stacks abdeckt. Dies schließt technische Details, API-Beschreibungen und Erklärungen zu den einzelnen Modulen ein. Unser Support-Team steht Ihnen ebenfalls zur Verfügung, um bei Fragen und Problemen zu helfen.
5. Beispielimplementierungen für verschiedene Controller und Transceiver
Um Ihnen den Einstieg weiter zu erleichtern, bieten wir Beispielimplementierungen für verschiedene Controller und Transceiver an. Diese Beispiele zeigen, wie der IO-Link Stack auf unterschiedlichen Hardwareplattformen eingesetzt werden kann und helfen Ihnen, Ihre eigene Implementierung schneller und effizienter zu gestalten.
Mit diesem umfangreichen Lieferumfang sind Sie bestens gerüstet, um den IO-Link Stack erfolgreich in Ihre Systeme zu integrieren und die Vorteile der IO-Link Technologie voll auszuschöpfen.