PROFINET-Device-Einbindung unter TwinCAT 2.11
Diese Beschreibung gilt für das PROFINET DEVICE Supplement.
Installation Für eine korrekte Installation sollte mindestens TwinCAT 2.11 Build 1546 installiert sein. Bei älteren TwinCAT Version empfehlen wir ein Update, in anderen Fällen wenden Sie sich an den Beckhoff Support. |
1. Einbindung des PROFINET-Protokoll
Zunächst muss ein PROFINET-Gerät angefügt werden.
Netzwerkkarte Wird keine Karte gefunden, ist das TwinCAT nicht im Config Mode oder der Echtzeit Ethernet Treiber wurde nicht richtig installiert. |
Diese Schnittstelle muss einer Adapterklasse zugewiesen werden. Diese stellt sich aus der MAC- und IP-Adresse der Netzwerkkarte zusammen. Suchen Sie über "Search" die entsprechende Netzwerkkarte aus.
MAC Adress:
MAC-Adresse der Ethernet-Karte (nur lesend)
IP Address:
IP-Adresse der Karte (nur lesend). Die IP-Adresse wird aus dem Betriebssystem gelesen und hat nichts mit der PROFINET IP-Adresse zu tun, die später verwendet wird.
IP-Adresse Netzwerkkarte Es ist zu beachten, dass die IP-Adresse des PROFINET Device und IP-Adresse der Ethernet-Karte nicht identisch sind! Der PROFINET-Treiber arbeitet mit einer virtuellen IP-Adresse, die nicht mit der IP Adresse des Betriebssystems übereinstimmen darf! |
Promiscuous Mode:
Wird benötigt, um Ethernet Frames aufzuzeichnen, sollte im Normalfall ausgeschaltet sein.
Virtual Device Names:
Es wird ein virtueller Name für die Netzwerkkarte verwendet.
Shared Adapter Interface:
Aus Kompatibilitätsgründen enthalten, kann bei PROFINET nicht verwendet werden.
Free Cycle:
Zykluszeit im Config Mode (keine Echtzeit). Wird TwinCAT im FREERUN Mode betrieben, so ist darauf zu achten, dass der eingestellte Freerun-Zyklus nicht größer als die PROFINET-Zykluszeit ist!
Soll z. B. ein CX9000 parametriert werden, so muss zuerst via Remote-Zugriff auf das Zielsystem gegangen werden, anschließend kann der entsprechende Ethernet Port gewählt werden.
Unter dem Reiter "Protocol" ist die verwendete NetID zu finden. Sie wird z. B. für einen ADS-Zugriff benötigt. Außerdem besteht in dem Reiter "Sync Task" die Möglichkeit, eine freilaufende Task für die PROFINET-Kommunikation anzuhängen (wird empfohlen). Somit kann die RealTime- Kommunikation unabhängig einer PLC Task laufen. Aus Performance-Gründen (z. B. bei einem CX9000) kann aber auch auf die SyncTasks verzichtet werden und es erfolgt das Standard Mapping, d.h. es muss z. B. eine PLC Task laufen, damit eine PROFINET-Kommunikation möglich ist.
Anschließend wird über die rechte Maustaste ein PROFINET-Protokoll angefügt. Es kann genau ein TwinCAT Device Protokoll angehängt werden!
Als nächstes wird eine Box in Form einer GSDML eingebunden (rechte Maustaste auf "PROFINET Device").
Einbinden bei einer beliebigen Ethernet-Schnittstelle ohne Port-Diagnose nach Version 2.0 ohne LLDP.
Einbinden bei einer einfachen Ethernet-Schnittstelle (ohne Switch, zum Beispiel CX1010 oder FC90xx) mit Port-Diagnose nach Version 2.1.
Einbinden bei einer geswitchten Ethernet-Schnittstelle (zum Beispiel CX1020) mit Port-Diagnose nach Version 2.1.
Virtuelles PROFINET-Device
In TwinCAT ist es auch möglich, mehrere virtuelle PROFINET Devices zu konfigurieren (maximal 7 im Supplement und 1 in der EL6631-0010). Jedes Device ist wieder als eigener Adapter zu sehen, d.h. jedes virtuelle Gerät bekommt aus einem reservierten Bereich eine Default MAC- Adresse zugewiesen. Damit es nicht zu eventuellen Adresskonflikten kommt, kann bei den virtuellen Geräten auch das letzte Byte der MAC-Adresse geändert werden. Der Name den das Gerät am Strang bekommen hat (oder unter Reiter "Allgemein") wird nach einem Restart auch als PROFINET-Stationsname genommen. Anhand unterschiedlicher MAC-Adressen und Namen erkennt nun ein PROFINET Controller auch mehrere Geräte am Strang.
Somit ist es möglich beim PROFINET Device Supplement pro Ethernet Interface 8 Devices zu benutzen und mit 8 verschiedenen PROFINET Controllern zu kommunizieren.
Bei PROFINET können innerhalb eines Gerätes verschiedene Anwenderprofile definiert werden (API - Application Process Instance). In TwinCAT wird pro Gerät genau eine API zugelassen / unterstützt.
Der DAP (Device Access Point) ist nach PROFINET immer auf Slot 0 definiert. In ihm sind gerätespezifische Daten definiert. Nach PROFINET können mehrere DAPs definiert werden, aktuell gibt es in TwinCAT jedoch genau einen!
2. Prozessdaten
Ab Slot 1 können die Prozessdaten eingefügt werden. Dies erfolgt über das Einbinden der gewünschten Module in die API. Jedes Modul (Slot) verfügt im Moment über genau ein Submodul (Subslot). Die Konfiguration der Module und somit das Erstellen des Prozessdatenabbilds auf PROFINET-Seite erfolgt durch die Angabe von Datentypen / Datenbreiten (z. B. Byte, Word, DWord, Float32).
Die Bezeichnung der Ein- und Ausgänge erfolgt in TwinCAT immer aus TwinCAT-Sicht, d.h. die Eingänge sind aus PROFINET-Sicht (vom Controller) die Ausgänge! Deshalb sind die Daten des PROFINET I/O Devices wie folgt dargestellt:
Diese Darstellung gilt nur für das TwinCAT-PROFINET-Device, bei einem TwinCAT-PROFINET-Controller wird die Sichtweise wieder übereinstimmen!
3. Allgemeine Einstellungen
Im Karteireiter "PROFINET Devices" kann die Instanz ID geändert werden. Für den Normalbetrieb sind die Default Einstellungen jedoch ausreichend!
Es gibt eine weitere Möglichkeit, den PROFINET-Stationsnamen zu vergeben. Diese ist vergleichbar mit den Dip-Schaltern beim BK9103 und kann über eine PLC Task erfolgen. Zur Aktivierung muss "Generate Station Name from Control" aktiviert werden. Zur Verdeutlichung wird an den bisherigen Tree-Namen (Default: "tcpniodevice") eine 000 angehängt.
Tree-Name Dieser Tree-Name entspricht nicht mehr dem PROFINET-Stationsnamen! Zur Namensvergabe wird das Ctrl WORD des PROFINET-Protokolls zu Hilfe genommen, d.h. die eingegebene Zahl (Wertebereich 0 - 255) wird an den bisherigen Stationsnamen angehängt. Außerdem muss das Ctrl WORD mit einer Task verknüpft werden. Anschließend ist ein Neustart von TwinCAT erforderlich. Wird nun z. B. dem verknüpftem Ctrl WORD von der Task aus ein Wert von 11 vorgegeben, so ändert sich sein bisheriger Stationsname von z. B. auf "tcpniodevice" auf "tcpniodevice011". Der aktuelle Tree-Name ist weiterhin "tcpniodevice000" |
Eine Überprüfung des aktuellen Stationsnamen sowie der benutzten IP-Konfiguration kann über den Karteireiter "PROFINET Diagnosis" erfolgen.
4. Zykluszeiten
Das Device kann in der durch PROFINET definierten minimalen Zykluszeit von 1 ms betrieben werden!
Soll TwinCAT im RUN Mode betrieben werden, muss eine Task angelegt werden. Im einfachsten Fall ist das die bereits erwähnte SyncTask. Die Aufrufzeit der Task darf nicht größer sein als die PROFINET-Zykluszeit! Wird eine zweite Task z. B. für die PLC angelegt, kann diese auch langsamer laufen.
Bei weniger leistungsstarken Geräten (z. B. CX1000, CX9000 mit E-Bus) kann es passieren, dass die CPU-Last an ihre Grenzen gerät. Die Performance kann jedoch durch folgende Überlegungen/Maßnahmen wieder verbessert werden:
- Kann man mit nur einer PLC Task arbeiten?
- Muss die Zykluszeit 1 ms betragen?
- Bei Verwendung von zwei Tasks, kann die Zeit der PLC-Task verringert werden?
- Werden mehrere virtuelle PROFINET Devices benötigt?