Beispielprogramm 2

Beispielprogramm 2 1: Download

Lesen und Interpretation von Zeittelegrammen

In diesem Beispiel wird ein Weg aufgezeigt, wie verschiedenste serielle Zeitprotokolle in der SPS aufbereitet und interpretiert werden können. Dazu werden IEC61131-PLC-Bausteine vorgestellt, die den in der PLC eintreffenden Bitstrom interpretieren und ggf. die Zeit / Ortsinformationen extrahieren. Mit dieser Information können z.B. Steuerungen synchronisiert oder Bewegungen aufgezeichnet werden.

In diesem Beispiel wird davon ausgegangen, dass die Daten über ein 22-Byte-Interface von einer Beckhoff EL / KL60xx seriellen Datenaustauschklemme geliefert werden.

 Hintergrundinformation

Nicht nur im maritimen Bereich werden Zeit- und Ortsinformationen über serielle Busse transportiert: meist existiert eine Quelle, die über RS232 / RS485, USB oder Ethernet ihre Informationen an untergeordnete Listener/Listener zyklisch oder nach Trigger verteilt.
Weltweit existieren eine sehr große Anzahl von Telegrammformaten zur Verteilung von Zeit- und Ortsinformationen, auch "Sentences" genannt. Solch ein Telegramm besteht aus n Byte Daten und zeichnet sich aus durch:

Verschiedenste Organisationen und Firmen haben für spezifische Einsatzzwecke offene oder proprietäre Formate entwickelt. Deshalb werden in diesem Beispiel 2 Beispielimplementationen vorgestellt, die kundenseitig leicht für spezifische andere Protokolle geändert werden können. Die Telegrammformate im Beispiel sind Meinberg Standard und NMEA0183 v2.3 Typ RMC.

Informationsquellen

Als Datensender im seriellen Bereich werden z. B. GPS- oder Funkuhrengateways verwendet. Diese Geräte empfangen das jeweilige Zeitsignal (GPS über Satellit oder Funkuhr über Langwelle) und setzen es auf die serielle drahtgebundene Übertragung um, z.B. RS232 mit 8N1. Dabei hält das Gateway oft auch eine lokale Taktquelle vor, um bei kurzzeitigem Ausfall des Referenzsignals (GPS, Funksender) über eine gewisse Zeit weiter verlässliche Zeitinformationen verteilen zu können. In Mitteleuropa kann der deutsche DCF77-Sender verwendet werden.
Dabei können aus dem Referenzsignal ggf. noch weitere Informationen verwendet werden:

Synchronisierung untergeordneter Time-Slaves

Im Allgemeinen sollen untergeordnete Slaves dem Zeitgateway nachgeregelt werden, d.h. sie sollen sich in ihrer Zeit aufsynchronisieren. Dazu sind nötig:

Wird das serielle Telegramm vom Gateway zyklisch auf den Bus gelegt, kann der Zeitpunkt des ersten Bits oft als PPS-Signal interpretiert werden. In den Bausteinen dieses Beispiels geht diese Information verloren; es wird nur die absolute Zeitinformation ausgewertet.

Zeitformate

Weit verbreitet sind Zeittelegramme nach dem NMEA0183-Standard. Dabei ist zu beachten:

Des weiteren existieren viele proprietäre Formate wie Meinberg Standard, Siemens SINEC H1, SAT 1703 oder militärische wie IRIG-Codes (USA).

Anwendung des Beispielprogramms

Im PLC-Projekt sind 2 FunctionBlocks (FB) enthalten, die exklusiv mit einer EL/KL600x verlinkt werden müssen. Dann holen Sie von der Klemme die empfangenen Bytes ab und interpretieren nach Möglichkeit den Inhalt. Die FB decken ab:

Für andere Zeitformate lassen sich danach eigene Interpretations-FB anhand eines bekannten Telegrammaufbaus erstellen, wenden Sie sich dazu an Ihren Gerätehersteller.

Im Beispiel verwendete Hardware: EK1100 und EL6001 (auch EL600x, KL600x)
Der FB der getestet werden soll, muss mit seinen Prozessdaten im Systemmanager mit der Klemme verlinkt werden (22-Byte-Prozessabbild und Control/Status-Word).
Im Beispiel ist der NMEA-Baustein verlinkt. Die Baudrate der Klemme muss auf Ihren Sender eingestellt werden. 

Referenzen: