Der Weg zum „universellen“ Ethernet

Die FPGA-Technologie ist eine ideale Basis zur Implementierung verschiedener Industrial-Ethernet-Protokolle auf derselben Hardware-Plattform. Neben einer niedrigen Leistungsaufnahme ist damit...

Die FPGA-Technologie ist eine ideale Basis zur Implementierung verschiedener Industrial-Ethernet-Protokolle auf derselben Hardware-Plattform. Neben einer niedrigen Leistungsaufnahme ist damit Hardware für den erweiterten Temperaturbereich realisierbar. Und vom Kostenaspekt betrachtet ist eine solche Lösung nicht teurer als ein CPU-basierter Ansatz.

Die IEC 61158 listet derzeit 13 standardisierte ethernet-basierende Kommunikationslösungen. Sie alle beruhen auf teilweise völlig unterschiedlichen Lösungsansätzen und sind lediglich auf der physikalischen Ebene zueinander kompatibel. Der Grund hierfür ist in der Feldbus-Historie zu suchen: Die Vertreter der seit langem etablierten klassischen Feldbusse wollten Lösungen auf Basis der erweiterten Fähigkeiten von Industrial Ethernet, die weitgehend mit den bereits existierenden Lösungen kompatibel sein sollten und damit eine einfache Migration ermöglichen.

Aufgrund der verschiedenen Lösungsansätze wie auch Anforderungen lassen sich zwar einige dieser ethernet-basierenden Protokolle unter Verwendung von Standard-Ethernet-Controllern implementieren, andere benötigen jedoch spezifische Hardware-Unterstützung in Form von IP-Cores oder ASICs. Zusätzlich ist die im industriellen Bereich vorherrschende Linientopologie bei der Entwicklung von Ethernet-Anschaltungen zu berücksichtigen. Hierfür ist jeweils eine aktive Komponente – also ein Hub oder ein Switch – oder eine spezifische Anschaltung erforderlich. Was heißt das in der Praxis? Für die Implementierung der Protokoll-Varianten Profinet-RT-IO-Device, Ethernet/IP-Adapter und Modbus/TCP-Client/ Server reicht ein Standard-Ethernet-Controller, wie er heute in vielen CPUs bereits integriert ist. Zur Unterstützung der Linientopologie ist die Integration eines Switch auf der Ethernet-Anschaltung sinnvoll. Hierzu gibt es bereits fertige Switch-Bausteine mit integrierten PHYs. Ein Powerlink-Managing-Node und -Controlled-Node ist ebenfalls mit einem Standard-Ethernet-Controller implementierbar. Sofern kurze Zykluszeiten kleiner 500 μs unterstützt werden sollen, ist bei Powerlink jedoch ein modifizierter Ethernet-Controller sinnvoll, der das schnelle Senden einer Antwort auf eingehende Nachrichten ermöglicht. Ferner ist hier zur Unterstützung der Linientopologie die Integration eines Hub auf der Ethernet-Anschaltung zweckmäßig, da ein Hub wesentlich kürzere Durchlaufzeiten als ein Switch besitzt. Für die Realisierung des Hub ist ein programmierbarer Baustein zwischen Ethernet-Controller und den PHYs erforderlich, da heute keine dezifierten Hub-Bausteine mehr erhältlich sind.

Auf Basis der FPGA-Technologe hat Ixxat ein Industrial-Ethernet-Modul entwickelt, welches standardmäßig die Protokolle Profinet-RT-IO, Ethernet/IP, Powerlink, Ethercat, Sercos III und Modus/TCP unterstützt. Für die Integration des Moduls auf der Gerätehardware ist ein Stecker vorgesehen, über den das Modul mit Spannung versorgt wird, und über den sowohl eine serielle Schnittstelle als auch eine parallele Adress-/Datenbus-Schnittstelle für die Kommunikation zwischen Geräte-CPU und Modul zur Verfügung stehen. Zur Ankopplung an die Gerätesoftware dient eine Programmierschnittstelle, welche die Funktionalität der einzelnen Protokolle weitgehend generisch der Gerätesoftware zur Verfügung stellt. Dies bedeutet, dass die Gerätesoftware unabhängig von den Industrial-Ethernet-Protokollen implementierbar ist. Ebenso ist eine zukünftige Erweiterung um zusätzliche Protokolle ohne große Änderungen an der Gerätesoftware jederzeit möglich. Die Programmierschnittstelle ist als C-Code verfügbar und damit leicht auf die verwendete Geräte-CPU anpassbar. Aufgeteilt ist die Programmierschnittstelle in vier Bereiche: Kommandoschnittstelle, Ereignis- und Statusschnittstelle, Parameterschnittstelle und Prozessdatenschnittstelle. Über die Kommandoschnittstelle steuert die Gerätesoftware das Schnittstellenmodul. Hier stehen Kommandos wie Init, Reset oder Connect zur Verfügung. Über die Ereignis- und Statusschnittstelle erhält die Gerätesoftware Informationen zum Netzwerk- und Modulstatus sowie zu aufgetretenen Fehlern. Die Parameterschnittstelle dient zur Übergabe von Lese- und Schreibzugriffen auf Geräteparameter. Da Geräte wie zum Beispiel Antriebe 1000 und mehr Parameter haben können, werden diese Daten nicht auf dem Schnittstellenmodul gehalten, sondern Zugriffe darauf direkt an die Gerätesoftware zur Ausführung weitergeleitet.

Durch die verschiedenen Protokolle werden die Parameter unterschiedlich referenziert. Ein Parametermanager bildet daher auf dem Schnittstellenmodul die verschiedenen Referenzierungsformen auf eine einheitliche und protokoll-unabhängige Referenzierungsform ab, bevor die Zugriffe an die Gerätesoftware weitergereicht werden. In der Prozessdatenschnittstelle befinden sich schließlich die zu übertragenden Prozessdaten getrennt nach Eingangs- und Ausgangsdaten. Um bei den echtzeit-fähigen Protokollen eine synchrone Bearbeitung der Prozessdaten durch die Gerätesoftware zu ermöglichen, kann das Schnittstellenmodul bei jedem Start eines neuen Kommunikations-Zyklus einen Interrupt für die Geräte-CPU generieren.

Die Tatsache, dass das Industrial-Ethernet-Modul auf der FPGA-Technologie basiert, ermöglicht mit wenig Aufwand, auch anwenderspezifische Schnittstellen in das Modul zu integrieren. Dies kann zum Beispiel eine CAN-Schnittstelle für den Anschluss des Moduls an das Gerät sein. Ebenso ist die Programmierschnittstelle gegen eine bereits auf der Geräteseite vorhandene anwenderspezifische Programmierschnittstelle austauschbar.