Uhrzeitsynchronisation von KTP1000

Bjoen2102

Level-1
Beiträge
76
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich brauche mal eure Hilfe. Ich habe ein KTP1000, dieses holt sich die aktuelle Uhrzeit und Datum von einem NTP-Server (Windows Rechner) funktioniert wunder paar. Diese Uhrzeit und Datum möchte ich gerne auf die CPU synchronisieren. Das Problem an der Sache ist, meine CPU ist eine VIPA 314-2BG03. Diese wird im TIA-Portal als CPU 315-2 DP projektiert. Damit man die Ethernet-Schnittstelle der VIPA verwenden kann, in meinem Fall für das KTP1000, muss man ein CP343-1 in der Gerätekonfiguration projektieren. Leider gibt es bei dieser Konfiguration keine Möglichkeit eine NTP Funktion zu aktivieren. Wie bekomme ich das hin, dass sich die CPU automatisch die Uhrzeit und das Datum vom KTP1000 holt. Welches sich wiederum die Uhrzeit und das Datum vom NTP holt. Ich habe schon gegoogelt, aber nicht passendes gefunden.


Software
TIA-Portal V13

Hardware
VIPA 314-2BG03 - (CPU 315-2 DP)
CP343-1 (nur in der Software vorhanden)
KTP1000 (Ethernet)

Gruß Björn
 
Hallo Björn,

schick dir die Uhrzeit und Datum über DB in die Steuerung.
Dann vergleich mit der aktuellen Systemzeit READ_CLK (SFC1) wenn dir die Abweichung zu groß ist änder die Systemzeit mit SET_CLK (SFC0).

Gruß

Jens
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay, hört sich so ganz logisch an. Aber ich bekomme die Uhrzeit und das Datum irgendwie nicht aus dem Panel. Ich habe einen DB im Datentyp
Date and Time angelegt und diesen unter Verbindungen im Bereichszeiger des Panels ausgewählt. Wenn ich mir jetzt den DB online ansehe, zeigt er mir aber nicht den richtigen wert an #DT1990-01-01-00:00:00. Was mache ich falsch?
 
Eine Date-And-Time Variable lässt sich nicht so einfach beobachten wie andere Werte, da wird immer im Datenbaustein in der Onlinesicht immer dieses Datum/Uhrzeit angezeigt wie von dir beschrieben.

Am einfachsten fügst du dir die einzelnen Bytes des Date-And-Time in eine Variablentabelle ein, am besten auf Hexdarstellung umstellen, weil die Werte BCD codiert sind.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da bei Dir die Uhrzeit vom HMI Panel zur SPS synchronisiert werden soll, muß das Panel der Uhrzeit-Master sein und die SPS der Uhrzeit-Slave. Die Uhrzeit muß vom Panel zur SPS übertragen werden. Dafür muß der Bereichszeiger "Datum/Uhrzeit" in der Verbindung zur SPS projektiert werden. Das Panel schreibt dann aber nicht dauernd seine Uhrzeit in den Bereichszeiger, sondern nur dann einmalig, wenn es per Steuerungsauftrag dazu aufgefordert wird (das darf nicht schneller als alle 5 Sekunden erfolgen). Damit das Panel seine Uhrzeit im Format DATE_AND_TIME in den Bereichszeiger schreibt, wird das Panel mit dem Steuerungsauftrag 40 aufgefordert.

Der Ablauf zum Uhrzeit übertragen und die Uhr der SPS stellen ist nicht ganz einfach - am besten nimm ein fertiges Beispielprogramm dafür. Schau Dir mal diese Anwendungsbeispiele von Siemens an:
Uhrzeitsynchronisation zwischen einem HMI Bediengerät und einer SIMATIC SPS

Achtung, die PDF-Doku enthält einige teilweise verwirrende Schlampigkeitsfehler (z.B. der in 4.1.1 dargestellte Aufbau des Bereichszeigers "Datum/Uhrzeit" ist falsch). Die Beispielprogramme sollten aber wenigstens funktionieren. (habe ich aber nicht getestet)
Achtung, hinter der Date_And_Time-Variable im DB solltest Du im Gegensatz zu dem Beispiel noch 4 Reserve-Bytes frei lassen, weil der Bereichszeiger "Datum/Uhrzeit" offiziell 12 Byte groß ist und nicht nur die 8 Byte des Date_And_Time, was Siemens manchmal selber vergisst.

Du brauchst das Projekt TimeSyn_Project_03: Die Uhrzeitsynchronisation erfolgt über die Bereichszeiger "Datum/Uhrzeit" und "Steuerungsauftrag" mit der Auftragsnummer 40. Bediengerät (Master) --> Steuerung (Slave).

Harald
 
Zurück
Oben