Die Konfiguration des PROFINET IO-Controllers besteht aus dem Controller selbst sowie den darunter eingehängten PROFINET IO-Devices (Slaves). Die Devices werden vom Controller konfiguriert und tauschen mit diesem Daten aus.
CODESYS bietet zwei unterschiedliche PROFINET IO-Controller: Eine Variante speziell für Hilscher CIFX-Karten und Eine Variante, die auf beliebigen Ethernet-Adaptern läuft.
Beim Einfügen des ethernet-basierten Controlles werden implizit 2 Tasks angelegt, die vom PROFINET IO-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 IO-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.
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 (siehe Slave-Konfigurator: Watchdog) .
Hinweis
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.
Info
Durch die Scan-Funktionalität können Sie auf einfache Weise die vorhandene Hardwarestruktur ermitteln und in den Gerätebaum übertragen.
Siehe auch