Allgemein
Die Konfiguration des PROFINET-Controllers besteht aus dem Controller selbst sowie den darunter eingehängten PROFINET-Devices (Slaves). Die Devices werden vom Controller konfiguriert und tauschen mit diesem Daten aus.
CODESYS bietet zwei unterschiedliche PROFINET-Controller:
Eine Variante speziell für Hilscher CIFX-Karten
Eine Variante, die Hardware-unabhängig ist, der CODESYS PROFINET Controller. Diese Variante läuft auf beliebigen Ethernet-Adaptern.
Beim Einfügen des Ethernet-basierten Controllers werden implizit 2 Tasks angelegt, die vom PROFINET-Kommunikationsstack benötigt werden.
Profinet_CommunicationTask: In dieser Task finden die azyklischen Kommunikationsdienste wie Verbindungsaufbau oder Diagnose statt. Diese Dienste sind wegen sehr schwacher Echtzeitanforderungen nicht zeitkritisch, daher ist die Task niederprior.
Profinet_IOTask: Hier erfolgt der eigentliche PROFINET-Echtzeitdatenverkehr. In jedem Zyklus werden anstehende IO-Datenpakte abgearbeitet (siehe Slave-Konfigurator: Send Clock) , daher ist eine Zykluszeit von 1ms erforderlich (für 1ms Send Clock).
Ist das kleinste gewählte Sendeintervall für die Slaves dieses Controllers 2ms oder 4ms oder größer, kann auch eine Zykluszeit von 2ms oder 4 ms gewählt werden. Die Priorität der Task sollte jedoch möglichst hoch gewählt werden.
![]() | (1) Controller - NetX-Konfiguration (4) Ethernet-Adapter |
![]() |
Für maximale IO-Performance mit minimaler Verzögerung beim Schreiben/Lesen können IO-Daten in dieser Task aktualisiert werden (→ eigene POU die IOs aktualisiert in dieser Task einhängen). Es dürfen aber keine blockierenden oder lange andauernden Operationen wie etwa Visualisierung, Dateizugriffe etc. in der IO-Task ausgeführt werden! Wird die Task zu lange blockiert, dann bricht der Watchdog für die Kommunikation der Slaves die Verbindung ab.
Wichtig
Es wird empfohlen, in den SPS-Einstellungen die Option E/As aktualisieren im Stop zu aktivieren, andernfalls bricht die Kommunikation ab, wenn die Applikation auf einem Haltepunkt stoppt.
Tipp
Durch die Scan-Funktionalität können Sie auf einfache Weise die vorhandene Hardwarestruktur ermitteln und in den Gerätebaum übertragen.
Installieren und Einfügen von PROFINET-Geräten
Damit Sie PROFINET-Geräte als Objekte im Gerätebaum des Projekts einfügen und konfigurieren können, müssen Sie die IO-Controller, IO-Devices und IO-Module zunächst auf dem lokalen System installieren. Wenn dies nicht automatisch mit der aktuellen Programmiersystem-Installation erfolgt, müssen Sie es explizit mit Hilfe des Geräte-Repository-Díalogs durchführen. Als Basis dienen die GSDML-Gerätebeschreibungsdateien, die mit der Hardware geliefert werden.
Sie fügen einen PROFINET-Controller im Gerätebaum unterhalb eines Geräts, das einen SPS-Logik-Knoten hat, ein. Die Gerätebeschreibungsdatei des PROFINET-Controllers legt fest, welche PROFINET-Devices Sie unter ihm einfügen können. Die Beschreibung eines IO-Devices wiederum definiert, welche PROFINET-Module Sie unterhalb des IO-Devices einfügen können. Für IO-Module, die eine feste Position haben, stellt CODESYS im Gerätebaum automatisch Steckplätze (Slots) bereit. Das Einfügen erfolgt mit Hilfe des Befehls Gerät anhängen. Beachten Sie auch die Möglichkeit, ein Gerät für den Netzwerkbetrieb vorübergehend zu deaktivieren.