Industrielle Kommunikation mit Profinet
Transcription
Industrielle Kommunikation mit Profinet
Industrielle Kommunikation mit Profinet Prof. Dr.-Ing. Heinz Frank (Stand: 12/2009) Inhalt: 1 Übersicht 2 Profinet IO 3 3.1 3.2 3.3 RT-Kommunikation Geräteklassen Aufbau von Applikations- und Kommunikationsbeziehungen Zyklische Übertragung von Ein-/Ausgabesignalen 4 IRT-Kommunikation 5 Profinet CBA 6 Literaturhinweise Anhang 1: Profinet für SIMATIC S7-Steuerungen Anhang 2: Laboraufgaben Industrielle Kommunikation mit PROFINET 1 1 Übersicht PROFINET unterstützt als industrielles Kommunikationssystem drei Leistungsstufen (siehe Bilder 1-1 und 1-2) [1]: • PROFINET CBA (CBA - component based automation) Die Übertragung von Engineeringdaten und anderen zeitunkritischen Daten erfolgt über TCP/IP und DCOM ( = Distributed Component Object Model). Diese Kommunikation findet zwischen intelligenten Feldgeräten in verteilten Automatisierungsstrukturen statt. • PROFINET IO – RT-Kommunikation (realtime) Die RT-Kommunikation ist für die Kommunikation von Steuerungen („Controller“) mit dezentralen Sensoren und Aktoren („Devices“) vorgesehen. Ähnlich wie beim Profibus werden die folgenden Dienste unterstützt: - Es können zyklisch Daten übertragen werden. - Mit READ-/WRITE-Diensten können azyklische Daten übertragen werden. - Für verschiedene Ereignisse wurde eine Alarmbearbeitung standardisiert. • PROFINET IO - IRT-Kommunikation (isochronous realtime) Für Motion-Control-Anwendungen wird eine isochrone Echtzeitkommunikation unterstützt. Sie ermöglicht z.B. bei einer Taktrate von 1 ms eine Jitter-Genauigkeit von 1 μs. Bild 1-1: Zeitliche Anforderungen an industrielle Kommunikationssysteme [Quelle: PNO] Bild 1-2: Protokolle von Profinet [Quelle: PNO] Industrielle Kommunikation mit PROFINET 2 Zur besseren Strukturierung von Profinet-IO-Feldgeräten wurden folgende Geräteklassen definiert (siehe Bild 1-3): - Ein IO-Controller ist typischerweise eine Speicherprogrammierbare Steuerung (SPS), in der das Automatisierungsprogramm abläuft. (Entspricht bei Profibus „Master Klasse 1“) - Ein IO-Superisor ist typischerweise ein Programmiergerät (PG), ein Personal Computer (PC) oder Human-Machine-Interface (HMI). (Entspricht bei Profibus „Master Klasse 2“) - Ein IO-Device ist ein dezentral angeordnetes IO-Gerät, das über Profinet IO angekoppelt wird. (Entspricht bei Profibus „Slave“) In einem Profinet-Netzwerk gibt es mindestens einen IO-Controller und ein oder mehrere IO-Devices. Ein IO-Device kann mit mehreren IO-Controllern Daten austauschen. Ein IO-Supervisor ist für Inbetriebnahmezwecke meist nur temporär vorhanden. Profinet IO folgt beim Datenaustausch dem Provider-Consumer-Modell: - Der Provider (z.B. ein Feldgerät) bietet dem Consumer (z.B. eine Steuerung) eine Leistung innerhalb eines Rahmens (Vertrag). Der Consumer kann sich Provider aussuchen. Die Leistung beschreibt der Provider in Form von „Services“, die er anbietet. Profinet ist in der IEC 61158 und der IEC 61784 standardisiert. Bild 1-3: Strukturierung der Geräte in einem Profinet-Netzwerk Industrielle Kommunikation mit PROFINET 3 2 Profinet IO Der Anschluss der Profinet-IO-Feldgeräte erfolgt ausschließlich über Switches. Ein Profinet-IONetzwerk kann in Stern-, Baum-, Linien- oder Ringtopologie aufgebaut werden. Profinet IO basiert auf der Fast-Ethernet-Standardübertragung mit 100 Mbit/s. Als Übertragungsmedien sind Kupferleitungen oder Lichtwellenleiter zugelassen. Die Festlegungen für Funkübertragung für Profinet IO sind zurzeit in der Spezifikationsphase. Innerhalb von Profinet IO werden die beiden Protokolle unterschieden (siehe auch Bild 2-1): - RT-Kommunikation (RT – realtime) und die IRT-Kommunikation (IRT – isochronous realtime) Profinet IO unterstützt die folgenden Kommunikationsdienste - Adressauflösung bei Feldgeräten Zyklische Übertragung von I/O-Daten Azyklische Übertragung von Alarmen Azyklische Übertragung von Bedarfsdaten (Parameter, Diagnosen, Geräteidentifikation, …) Taktsynchronisation Redundanz des Übertragungsweges Komfortable Anlagendiagnose Gerätetausch ohne zusätzliche Tools Bild 2-1: Merkmale der RT- und der IRT-Kommunikation (Quelle: Siemens) Industrielle Kommunikation mit PROFINET 4 3 RT-Kommunikation 3.1 RT-Klassen Bei der RT-Kommunikation werden 4 Klassen unterschieden. Der Unterschied liegt hierbei nicht in der Performance, sondern im Determinismus: - RT_CLASS_1 Unsynchronisierte RT-Kommunikation innerhalb eines Subnetzes. Bei dieser Kommunikation sind keine speziellen Adressierungsinformationen notwendig. Der Zielteilnehmer wird nur anhand der "Dest. Addr" identifiziert. Die unsynchronisierte RT-Kommunikation innerhalb eines Subnetzes ist bei Profinet IO die übliche Art der Datenübertragung. Wenn sich der RTDatenverkehr auf ein Subnetz (gleiche Netz-ID) beschränken lässt, ist diese Variante die einfachste. Dieser Kommunikationsweg ist parallel zur UDP/IP-Kommunikation standardisiert und in jedem IO-Feldgerät implementiert. In dieser RT-Klasse können industrietaugliche Standard-Switches eingesetzt werden. - RT_CLASS_2 RT_CLASS_2-Frames können synchronisiert oder unsynchronisiert übertragen werden. Die unsynchronisierte Kommunikation ist hier genauso zu sehen wie die RT_CLASS_1Kommunikation. Bei der synchronisierten Kommunikation wird der Beginn eines Buszyklus für alle Teilnehmer definiert. Damit ist das Zeitraster genau festgelegt, wann Feldgeräte senden dürfen. Dies ist für alle an der Kommunikation beteiligten Feldgeräte in der RT_CLASS_2 immer der Anfang des Buszyklus. Profinet-taugliche Switches müssen bei dieser Kommunikation diese Synchronisation unterstützen. Für diese auf Performance ausgelegte Datenübertragung sind spezielle Hardware-Vorkehrungen zu treffen (Ethernet-Controller/Switch mit Unterstützung der Taktsynchronisation). - RT_CLASS_3 (IRT) Synchronisierte Kommunikation innerhalb eines Subnetzes. Bei der synchronisierten RT_CLASS_3-Kommunikation erfolgt das Senden der Prozessdaten nach einer genauen, beim Anlagen-Engineering festgelegten, Reihenfolge mit höchster Präzision (maximal erlaubte Abweichung vom Beginn eines Buszykluss ist 1 µs). Diese optimierte Datenübertragung wird auch als IRT-Funktionalität bezeichnet (Isochronous Real-Time oder Taktsynchronität). Bei der RT_CLASS_3-Kommunikation kommt es zu keinen Wartezeiten. Für diese auf höchste Performance getrimmte Datenübertragung sind spezielle Hardware-Vorkehrungen zu treffen (Ethernet-Controller mit Unterstützung der Taktsynchronisation). ‚ - RT_CLASS_UDP Die unsynchronisierte subnetzübergreifende Kommunikation zwischen unterschiedlichen Subnetzen benötigt Adressierungsinformationen über das Zielnetzwerk (IP-Adresse). In dieser RT-Klasse können Standard-Switches eingesetzt werden. Für RT-Frames ist es ausreichend, Datenzyklen von 5 ms bei 100 Mbit/s im Vollduplex-Betrieb mit VLAN-Tag zu erreichen. Diese RT-Kommunikation kann mit allen verfügbaren Standardnetzwerkkomponenten realisiert werden. 3.2 Aufbau von Applikations- und Kommunikationsbeziehungen a) Strukturierung von Daten Es werden „IO-Data Objects“ zwischen einem „Provider“ und einem „Consumer“ zyklisch unquittiert übertragen. Die IO-Data Objects können in „IO-Elemente“ gegliedert werden. Diese können aus einem Satz von Datenelementen bestehen, die konsistent zu übertragen sind. Für die Übertragung werden die IO-Elemente modelliert: - Sie werden einem bestimmten Modul oder Submodul zugeordnet. - Sie erhalten einen Producer- und Consumer-Status (Producer = Sender; Consumer = Empfänger). Industrielle Kommunikation mit PROFINET 5 b) Applikations- und Kommunikationsbeziehungen Für die Nutzung der in Abschnitt 2 genannten Kommunikationsdienste ist es immer notwendig zwischen den Teilnehmern zunächst eine Applikationsbeziehung (AR – Application Relation) aufzubauen. In einer AR können mehrere Kommunikationsbeziehungen (CR – Communication Relation) aufgebaut werden. Diese sind eindeutig durch die FrameID und den EtherType referenziert. Die wichtigsten Arten von Kommunikationsbeziehungen sind: - azyklischer CR = Record Data-CR (wird immer als erstes aufgebaut), - IO-CR für die zyklische Übertragung von IO-Daten, - Alarm-CR für die azyklische Übertragung von Ereignissen. Beim Aufbau einer IO-CR (ConnectSeq) werden die folgenden Vereinbarungen festgelegt: - FrameID, - Datenelemente, die übertragen werden sollen, - Reihenfolge der Frames, - Übertragungszyklus der Frames. 3.3 Zyklische Übertragung von Ein-/Ausgangssignalen (Nutzdatenaustausch) In Bild 3-1 ist ein Beispiel für die zyklische Übertragung von Profinet RT-Frames mit Ein/Ausgangssignalen dargestellt. Eine solche Übertragung ist durch die folgenden Merkmale gekennzeichnet: - Die Daten werden in einem festen Takt übertragen. Dabei können die Aktualisierungsraten bei den einzelnen Devices unterschiedlich sein (reduction ratio = Untersetzung) (siehe Bild 3-1).[46] - Der Consumer überwacht die Kommunikation. Die Wiederholungsüberwachung erfolgt mit Hilfe eines „CycleCounters“. - Der Empfänger schickt keine explizite Quittierung (Übertragung erfolgt unconfirmed). Bild 3-1: Übertragung von Frames mit IO-Signalen [2] Der Aufbau eines Profinet RT-Frames ist in Bild 3-2 dargestellt. - Die kleinste Framegröße ist 64 Bytes. Diese bedeutet, dass zwischen FramID und Cycle mindestens 40 Bytes übertragen werden müssen. - Optional können die Frames auch über IP/UDP übertragen werden. Bild 3-3 zeigt ein Beispiel für ein RT-Telegramm. Industrielle Kommunikation mit PROFINET DestAddr SrcAddr VLAN EtherType - 6 Zieladresse (MAC-Adresse) Quellenandresse (MAC-Adresse) VLAN-Tag für die Übertragung der Priorität 0x8892 -> RT-, IRT- oder Zeitsynchronisationstelgramm 0x0806 -> VLAN-Tag FrameID - enthält die im Connect ausgetauschte FrameID (siehe auch Tabelle 3-1) Daten; IOPS, IOCS - Input-Daten: IO-Device -> IO-Controller Output-Daten: IO-Device <- IO-Controller Cycle - enthält die Zyklusnummer in Werten von 31,25 µs Beispiel für Zykluszeit 4 ms: Der Wert von Cycle wird in jedem Telegramm um 128 modulo 65535 erhöht (128 * 31,25 µs = 4 ms) Data Status - Bit0 (State): 1 = Primary, zeigt den aktuellen Übertragungskanal an - Bit2 (DataValid): 1 = Daten sind gültig; 0 = nur im Hochlauf erlaubt - Bit4 (ProcessState) 1 = Der Prozess, von dem die Daten kommen läuft ist noch in Ordnung - Bit5 (ProblemIndicator) 1 = Es sind keine Probleme vorhanden. TransferStatus - muss immer 0 sein! Bild 3-2: Aufbau eines Frames [2] von bis Bedeutung 0000 007F Zeitsynchronisation azyklisch 0080 00FF Zeitsynchronisation azyklisch 0100 7FFF RT Klasse 3 Frames zyklisch (IRT) 8000 BEFF RT Klasse 2 Frames zyklisch unicast BF00 BFFF RT Klasse 2 Frames zyklisch multicast C000 FAFF RT Klasse 1 Frames zyklisch unicast FB00 FBFF RT Klasse 1 Frames zyklisch multicast FC00 FCFF Azyklische Übertragung high FC01 Profinet IO Alarm high FC02 Profinet IO Event high FE00 FEFF Azyklische Übertragung low FE01 Profinet IO Alarm low FE02 Profinet IO Event low Zeitsynchronisation bei IRT: Precision Transparent Clock Protocol (PTCP). von bis Bedeutung 0000 001F Azyklisches RT Sync-Telegramm 0080 Zyklisches RT Sync-Telegramm FF00 Azyklisches RT Sync-Telegramm (Takt) FF01 Azyklisches RT Sync-Telegramm (Zeit) FF20 Azyklisches RT FollowUp-Telegramm (Takt) FF21 Azyklisches RT FollowUp-Telegramm (Zeit) FF22 FF3F Azyklisches RT FollowUp-Telegramm FF40 Azyklisches RT DelayReq-Telegramm FF41 Azyklisches RT DelayResp-Telegramm FF42 Azyklisches RT FollowUpResp-Telegramm Tabelle 3-1: Frame-IDs Industrielle Kommunikation mit PROFINET IOxS Frame-ID APDU-Status: DataStatus / Transferstatus Cycle Counter Bild 3-3: Telegramm für eine RT-Kommunikation (Beispiel) 7 Industrielle Kommunikation mit PROFINET 8 4. IRT-Kommunikation Die wichtigsten Merkmale einer IRT-Kommunikation können wie folgt zusammengefasst werden: - Die Übertragung der Daten erfolgt in äquidistanten Zeitintervallen. Bei einem Zeitintervall von 1 ms wird ein Jitter von < 1 µs erreicht. Jedes Zeitintervall wird in ein IRT-Intervall (IRT-Kanal) und in ein offenes Intervall (offener Kanal) unterteilt (siehe Bild 4-1). Am Anfang eines jeden Zeitintervalls erfolgt eine Zeitsynchronisation. Ein IRT-Frame (siehe Bild 4-2) ist durch seine zeitliche Lage innerhalb des IRT-Kanals gekennzeichnet. Für die Gewährleistung der zeitlichen Anforderungen sind spezielle IRT-Switches erforderlich (siehe Bild 4-3): ¾ Real Time Netze sind vergleichbar mit Autobahnen, die eine Überholspur besitzen, auf der RT-Frames die IT-Frames überholen. ¾ Durch die Zeitsynchronisation bekommen alle Switches den Zeitpunkt für den Start mitgeteilt, IRT-Telegramme durchzuschleusen. Bild 4-1: Zeitintervalle bei einer IRT-Kommunikation [6] 56 Bits Preamble 8 Bits SYNCH 6 Byte Dest.Addr. 6 Byte Src. Addr. - wird immer ohne VLAN-Tag übertragen! Bild 4-2: Aufbau eines IRT-Frames 2 byte Ether type 2 byte Frame ID 36..1490 byte RT – User data 4byte FCS Industrielle Kommunikation mit PROFINET 9 Bild 4-3: Verhalten von IRT-Switches Die Zeitsynchronisation erfolgt bei IRT mit Hilfe des Precision Transparent Clock Protocol (PTCP) bzw. PTP (nach IEEE 1588). Der Ablauf einer solchen Zeitsynchronisation ist in Bild 4-4 dargestellt. - Zunächst werden in einem Synchronisationskanal die zeitlichen Verzögerungen der Telegramme zu den Teilnehmern im Netzwerk bestimmt (Line Delay Measurement: Tld). - In den nachfolgenden Synchronisationskanälen kann die Zeitsynchronisation dann mit Hilfe von Followup-Telegrammen, die als Multicast-Telegramme übertragen werden, erfolgen. - Das Synchronisationsverfahren setzt ein symmetrisches Leitungsmodell voraus. Alle Unsymmetrien der Leitung und der Übertragungseinrichtungen führen zu Synchronisationsfehlern. Bild 4-4: Ablauf der Zeitsynchronisation mit Hilfe des PTCP-Protokolls Industrielle Kommunikation mit PROFINET 10 5. Profinet CBA PROFINET IO-Systeme können mit Hilfe von PROFINET CBA in die Maschine-MaschineKommunikation eingebunden werden. Aus einem PROFINET IO-System wird z. B. in STEP 7 eine PROFINET-Komponente erstellt. Mit SIMATIC iMap können solche Komponenten dann miteinander verbunden werden. Die Kommunikationsverbindungen zwischen den Geräten werden einfach grafisch als Verschaltungslinien projektiert. Bild 5-1 zeigt eine verteilte Automatisierungslösung mit mehreren Komponenten, die über PN kommunizieren. Die rechte Komponente enthält ein PN IO-System. Bild 5-1: Vernetzung von Steuerungen mit Profinet CBA 6. Literaturhinweise [1] [2] [3] [4] [5] [6] PROFIBUS Nutzerorganisation: PROFInet – more than Just Ethernet PNO, März 2003 www.profibus.com PROFInet_Web-March2003_de[1].pdf M. Popp, K. Weber: Der Schnelleinstieg in PROFINET. PROFIBUS Nutzerorganisation e.V. Karlsruhe, 2004. A. Boller, C. Münch: Innovation für Echtzeit-Ethernet. Elektronik (2005) Nr. 10, S.36 – 40. J. Schwager: Ethernet erreicht das Feld. Sechs Echtzeit-Varianten im Vergleich – Teil 1. Elektronik (2004) 11, S. 48 – 54. N.N.; Profinet – Technologie und Anwendung. PROFIBUS-Nutzerorganisation, Karlsruhe, 2003. (4131_dSeptember-2003-german.pdf) R. Pigan, M. Metter: Automatisieren mit PROFINET. Industrielle Kommunikation auf Basis von Industrial Ethernet. Publicis Corporate Publishing, 2005. Industrielle Kommunikation mit PROFINET 11 Anhang 1 Profinet für SIMATIC S7-Steuerungen 1 Projektierung eines Profinet mit Step 7 a) CPU projektieren Es wird davon ausgegangen, dass in HW-Konfig die CPU bereits projektiert wurde (siehe Bild 1-1) Bild 1-1: Hardwarekonfiguration mit CPU 315-2 PN/DP Projektierung der Profinet-Schnittstelle (= X2-Schnittstelle) auf der CPU: -> Doppelklick auf X2-Schnittstelle -> Eingabe im Bild „Eigenschaften – PN-IO“ im Register Allgemein (siehe Bild 1-2): Gerätename: z.B. sp088 (Name von EDV-Administration) -> Eigenschaften -> Eingaben im Bild „Eigensch. – Ethernet Schnittstelle“ im Register Parameter (siehe Bild 3-2): IP-Adresse: z.B. 141.7.213.178 (wird von EDV-Administration festgelegt) Subnetz-Maske: 255.255.255.0 Router verwenden! Router-Adresse: 141.7.213.1 Bild 1-2: Bilder „Eigenschaften – PN-IO“ und „Eigenschaften – Ethernet Schnittstelle“ Industrielle Kommunikation mit PROFINET 12 -> Neu -> Anzeige „Eigenschaften – Neues Subnetz Industrial Ethernet“ (siehe Bild 1-3) -> Subnetz-Name eingeben (z.B. BeispielProfinet) -> OK -> OK ->OK Bild 1-3: Bild „Eigenschaften – Neues Subnetz Industrial Ethernet“ b) IO-Device einfügen Im Hardwarekatalog muss das IO-Device ausgewählt und mit Drag&Drop an das Profinet angehängt werden (siehe Bild 1-4). Bild 1-4: Einfügen eines IO-Devices an ein Profinet Industrielle Kommunikation mit PROFINET 13 -> Doppelklick auf IO-Device -> Eingaben im Bild„Eigenschaften – ILB-PN-DIO“ (siehe Bild 3-5): Gerätename: z.B. sp104 (wird von EDV-Administration vorgegeben) -> Ethernet -> Eingaben im Bild „Eigenschaften – Ethernetschnittstelle …“ (siehe Bild 1-5 ): IP-Adresse: z.B. 141.7.213.194 (wird von EDV-Administration vergeben) -> OK -> Eingaben im Bild „Eigenschaften – sp104“ im Register IO-Zyklus: Aktualisierungszeit: z.B. 2 ms -> OK Bild 1-4: Anzeigebilder für die Parametrierung eines IO-Devices Bild 1-5: Anzeigebild „Eigenschaften – sp104“ Industrielle Kommunikation mit PROFINET 14 Bei modularen IO-Devices muss der Hardwareaufbau dieses Devices noch projektiert werden. Hierfür muss das IO-Device zunächst wie in Bild 1-6 dargestellt markiert werden. Anschließend können die Module für das IO-Device mit Drag&Drop in dem unteren Bereich des Anzeigbildes projektiert werden. Bild 1-6: Projektierung eines modularen IO-Devices Industrielle Kommunikation mit PROFINET 15 2 Testen einer Profinet-Kommunikation 2.1 Überprüfen der LEDs Die Bedeutung der LEDs auf der CPU sind in Bild 2-1 und auf einem IO-Device in Bild 2-2 dargestellt. Bild 2-1: Anzeige-LEDs auf einer CPU mit PN-Schnittstelle Bild 2-2: Anzeige-LEDs auf einem IO-Device (Beispiel: ILB PN von Fa. Phoenix Contact) Industrielle Kommunikation mit PROFINET 2.2 Beobachten/Steuern von E/A-Signalen über das Profinet In HW-Konfig: -> IO-Device markieren -> mit rechter Maustaste auf Ein-/Ausgänge -> Beobachten/Steuern -> Anzeige „Beobachten/Steuern“ (siehe Bild 2-3) -> Beobachten aktivieren bzw. „Steuern“ Bild 2-3: Beobachten/Steuern von E/A-Signalen 2.3 ONLINE-Diagnose a) Übersicht der Hardware-Konfiguration Bedienung in HW Konfig -> In der Menüleiste auf „Station“ -> „Online öffnen“ auswählen (siehe Bild 2-4). Bild 2-4: Online Diagnose 16 Industrielle Kommunikation mit PROFINET 17 b) Baugruppenzustand In der Übersicht der Hardwarekonfiguration kann mit einem Doppelklick auf eine Baugruppe deren Baugruppenzustand online angezeigt (siehe Bild 2-5 und Bild 2-6). Bild 2-5: Baugruppenzustand der CPU Bild 2-6: Baugruppenzustand eines IO-Devices 3.3 Programmierung Auf die Ein-/Ausgabedaten der IO-Devices kann im Prozessabbild zugegriffen werden. Industrielle Kommunikation mit PROFINET 18 Anhang 2 Laboraufgaben Aufgabe 1: Ansteuerung eines Motors über Profinet (LABORAUFGABE) Die Laborarbeitsplätze sind mit einem Steuerungssystem entsprechend Bild 4-1 ausgerüstet. Das Modell für das Garagentor ist an einen dezentralen E/A_Modul (Phoenix ILB PN) angeschlossen. Die SPS-Steuerung empfängt die Eingangssignale und sendet die Ausgangssignale über ein EthernetNetzwerk an das Garagentor. Switch: SCALANCE X208 12 3 4 5 6 7 8 Profinet PG CPU 315-2 PN/DP Phoenix ILB PN dig. E/A wago IO-Device DAU ADU Modell Garagentor Bild 4-11: CPU 315-2 PN/DP mit einem Profinet a) Legen Sie ein neues Projekt an und konfigurieren Sie die CPU 315-2 PN/DP mit einem Profinet-Subnetz. b) Führen Sie die folgenden Testfunktionen durch: - Überprüfen Sie die LEDs an der CPU und an den IO-Devices. - Überprüfen Sie die Kommunikation über den Profinet mit der Funktion „Beobachten/Steuern“ - Führen Sie eine Online-Diagnose durch. c) Programmieren Sie die Steuerungsfunktion für das Garagentor. d) Zeichnen Sie den Datenverkehr über das Profinet mit dem Netzwerkanalyzer Wireshark auf und analysieren Sie ein Profinet-Telegramm.