XOn Software

Industrial Ethernet und LabVIEW®

Übersicht

Ethernet basierte Bussysteme verbreiten sich im Moment sehr schnell. Bekannte Beispiele dafür sind EtherCAT, EtherNet/IP, Open-Modbus/TCP, POWERLINK, PROFINET, sercos und VARAN. Die in jedem PC standardmäßig verbauten Ethernet Adapter eignen sich für diese Bus Systeme nicht, da die Reaktionszeiten des Windows Betriebssystems den Echtzeitanforderungen nicht genügen. Abhilfe schafft eine „intelligente" Schnittstellenkarte wie die CIFX 50E-RE der Firma Hilscher (www.hilscher.com). Hier wird beschrieben, wie man mit Hilfe dieser Karte von LabVIEW® aus über PROFINET mit einem Linearmotor der Firma LinMot (www.linmot.com) kommunizieren kann.

Eine entsprechende VI- Bibliothek finden sie in unserem Softwarekatalog.

1. Konfiguration der Karte

Die CIFX Interface Karte kann für alle in der Einleitung aufgeführten Busse verwendet werden, in vielen Fällen sogar wahlweise als Master oder als Slave. Die Konfiguration erfolgt dadurch, dass die entsprechende Firmware in die Karte geladen wird. In unserem Beispiel soll der PC mit LabVIEW® als PROFINET Master agieren und der Linearmotor ist Slave im System. Die entsprechende Firmware für diese Anwendung heißt cifxpnm.nxf (ProfiNet Master).

2. Konfiguration des Linearmotors

Die erste Kommunikation mit dem Antrieb kann natürlich noch nicht über die PROFINET Schnittstelle erfolgen, da diese erst konfiguriert wird. LinMot liefert ein Programm LinMot_Talk, das über eine serielle Schnittstelle die Konfiguration des Reglers ermöglicht. Damit das Gerät als PROFINET Teilnehmer von unserem Master gefunden wird, muss nur noch der Gerätename eingetragen werden, das erfolgt mit Hilfe eines Tools:


Abbildung 1: Konfigurationsprogramm von Hilscher für Gerätenamen und IP-Adresse

Für diese Konfiguration wird die PROFINET Schnittstelle des Antriebs mit der normalen Ethernet Schnittstelle des CP verbunden (und nicht mit der CIFX Karte), nach erfolgter Konfiguration wird dann auf PC-Seite zur PROFINET Schnittstelle umgesteckt!

3. Beschreibungsdatei für den Antrieb in die Hilscher Software laden

Ein PROFINET Teilnehmer beschreibt den Aufbau seiner Schnittstelle (Anzahl und Gruppierung der zu übertragenden Bytes) mit Hilfe einer GSDML Datei (XML-Format), diese Datei wird für die Konfiguration einer SPS genau so verwendet wie für die CIFX Karte. Die von LinMot mitgelieferte Datei GSDML-V2.2-NTI_2348-PN_IO-V1.1-20140219.xml kann von der Hilscher SYCON.net Software importiert werden, der Antrieb steht dann in der Bibliothek der bekannten Geräte zur Verfügung und kann zur Konfiguration unseres Busses verwendet werden:


Abbildung 2: Definition unseres PROFINET Busses mit CIFX als Master und LinMot als Slave

Diese Konfiguration bleibt in der Karte gespeichert, das bedeutet dass sofort nach dem Einschalten des PC die PROFINET Schnittstelle startet und zyklisch Daten überträgt. Die Kontroll-LEDs für den Bus an der Karte und am Antrieb wechseln auf Grün = „Betrieb“, ohne dass wir auch nur eine Zeile programmiert hätten. Das API der Karte ermöglich es auch, die gesamte Konfiguration aus der Applikationssoftware heraus durchzuführen, die ist aber sehr viel aufwendiger und unnötig, da die Karte alle Einstellungen bis auf Widerruf speichert.

4. LabVIEW® Interface für die CIFX Karte

Damit von LabVIEW® aus auf die Karte und damit auf den Antrieb zugegriffen werden kann muss die Hilscher DLL cifx32dll.dll ein LabVIEW® Interface bekommen. Die DLL ist dafür geeignet aufgebaut, auch Funktionen, die komplexe Strukturen als Ergebnis liefern, bekommen den entsprechenden Speicherplatz als Eingabeparameter übergeben, so dass die Speicherverwaltung komplett von LabVIEW® aus erfolgen kann.


Abbildung 3: LabVIEW® VI für die DLL Funktion xChannelIORead

Etwas mehr Arbeit muss man investieren, um C Datenstrukturen in LabVIEW® Cluster umzuwandeln (und umgekehrt):


Abbildung 4: Umwandeln der als Bytearray gelesenen Struktur BOARD_INFORMATION in einen LabVIEW® Cluster

5. LabVIEW® Interface für den LinMot Antrieb

Die eigentliche Kommunikation zwischen der CIFX Karte und dem Antrieb erfolgt automatisch im Hintergrund, die Karte stellt dem Anwender ein Prozessbild zur Verfügung, dessen Größe durch die GSDML Datei definiert ist. Der nächste Schritt besteht darin, die Ausgangsseite des Prozessbildes mit Daten zu füllen und die Eingangsseite zu interpretieren, hier sind ähnlich wie schon bei den Funktionen des Kartentreibers vor allen VI zu schreiben, die die Inhalte entsprechend der Schnittstellenbeschreibung des Geräteherstellers zusammenbauen und wieder in LabVIEW® Cluster zerlegen.


Abbildung 5: VI zur Kommunikation mit dem LinMot Antrieb

Unsere Musterapplikation besteht aus den Teilen „Schnittstelle öffnen“, „Prozesbild lesen“, „Prozessbild schreiben“ und „Schnittstelle wieder schließen“. Im Event-Case in der Mitte können Eingaben behandelt werden, indem man die zugehörigen Parameter von der Benutzeroberfläche ausliest und in das Ausgangs Prozessbild einbaut.


Abbildung 6: Daten des Telegramms „Fahren an Position“ montieren

Da die Daten ständig und zyklisch übertragen werden ist es nicht einfach festzustellen, ob Daten verändert wurden. Der LinMot Regler verwendet dafür einen Zähler von 4 Bit, der verändert werden muss, damit das Kommando ausgeführt wird. Die Zahldarstellung des Reglers ist auch konfigurierbar, der Default ist die hier verwendete (ungewöhnliche) Variante „Bytes getauscht, aber Wörter nicht“, weder „big-endian“ noch „little-endian>“.

Fazit:

Mit einer Karte kann sich der LabVIEW® Programmierer Zugang zu einer großen Zahl von Industriellen Ethernet Schnittstellen verschaffen und dort als Master oder als Slave agieren. Für den Einsatz als Master ist eine kostenpflichtige Lizenz erforderlich, da die Software des Masters sehr viel aufwendiger ist als die eines Slaves (der dafür aber im Regelfall sehr viel härtere Vorgaben an sein Timing hat, aber das beherrscht die Karte mit einem eigenen Prozessor eben sicher). Mit der Lizenz für den Betreib als Busmaster kostet solch eine Karte ca. 450€.

Copyright © XOn Software GmbH

Industrial Ethernet, EtherCAT, EtherNet/IP, Open-Modbus/TCP, POWERLINK, PROFINET, sercos, VARAN, LabVIEW, XOn, Projekte

Industrial Ethernet und LabVIEW