Uhrzeit aus S7-300 auslesen, was mache ich falsch?

Hallo zusammen,

trotz aller Astronomie, heißt der Thread "Uhrzeit aus S7-300 auslesen". :)
Dazu hätte ich eine Frage. Ich möchte die Uhrzeit der S7-300 mit Hilfe des SFC0 und einer übergeordneten Steuerung synchronisieren.
Die Steuerung gibt mir dazu:

DATE - IT System DATE - 2 Bytes
TIME_OF_DAY - IT System TIME - 4 Bytes


Der SFC0 verlangt allerdings das Format DATE_TIME. Kann man das ganz konvertieren?

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Antwort aus einem anderen Forum stibitzt:

Code:
[COLOR=#333333][FONT=Arial]Im einzelnen ist das Format DATE_AND_TIME wie folgt aufgebaut:[/FONT][/COLOR]

[COLOR=#333333][FONT=Arial]1. DATE#1990-01-01 --> (W#16#0000)[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]D#2168-12-31--> (W#16#FF62)[/FONT][/COLOR]

[COLOR=#333333][FONT=Arial]Eine Variable mit Typ DATE wird in einem Wort als vorzeichenlose Festpunktzahl abgelegt. Der Inhalt dieser Variable entspricht der Anzahl der seid dem 1.1.1990 verstrichenen Tage.[/FONT][/COLOR]


[COLOR=#333333][FONT=Arial]2. TIME_OF_DAY#00:00:00 --> (W#16#0000_0000)[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]TOD#23:5:.59.999 -->(W#16#0526_5BFF)[/FONT][/COLOR]

[COLOR=#333333][FONT=Arial]Dieser Typ belegt ein Doppelwort und beinhaltet die anzahl der Millisekunden seid Tagesbeginn [/FONT][/COLOR]
[COLOR=#333333][FONT=Arial](0:00 Uhr).[/FONT][/COLOR]


[COLOR=#333333][FONT=Arial]Zusammengesetzt würde das ganze dann wie folgt aussehen:[/FONT][/COLOR]

[COLOR=#333333][FONT=Arial]3. DATE_AND_TIME#2089-12-31-23:59:59.999[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]DT#1990-01-01-00:00:00 (die Angabe der Millisekunden kann entfallen.)[/FONT][/COLOR]


[COLOR=#333333][FONT=Arial]Zur bearbeitung kann der SFC1 (READ_CLK) verwendet werden.[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]Dieser teilt das Format dann in acht Bytes auf. Dieser werden dann im BCD-Format gespeichert![/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]Hier eine kurze Tabelle:[/FONT][/COLOR]

[B]Byte Inhalt Bereich[/B]

[COLOR=#333333][FONT=Arial]0 Jahr 1990.....2069[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]1 Monat 1....12[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]2 Tag 1....31[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]3Stunde 0...23[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]4 Minute 0....59[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]5 Sekunde 0....59[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]6MSD v. ms 00...99[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]7(MSB) LSV v. ms0....9[/FONT][/COLOR]
[COLOR=#333333][FONT=Arial]7(LSB) Wochentag1....7 (1 = Sonntag)
[/FONT][/COLOR]
 
Ich möchte die Uhrzeit der S7-300 mit Hilfe des SFC0 und einer übergeordneten Steuerung synchronisieren.
Ist die übergeordnete Steuerung auch eine S7? Dann brauchst Du nichts ungenaues und fehleranfälliges selber programmieren sondern kannst in den Eigenschaften der CPU einfach eine Uhrzeitsynchronisation aktivieren.
Wie wird die SIMATIC S7-300 als Uhrzeit-Master oder Uhrzeit-Slave für die Uhrzeitsynchronisation über Industrial Ethernet mit dem SIMATIC Verfahren konfiguriert?
Wie projektieren Sie eine Uhrzeitsynchronisation?
Große Linkliste: Uhrzeitsynchronisation - Zeitsynchronisation im Automatisierungsumfeld

Harald
 
Ist die übergeordnete Steuerung auch eine S7? Dann brauchst Du nichts ungenaues und fehleranfälliges selber programmieren sondern kannst in den Eigenschaften der CPU einfach eine Uhrzeitsynchronisation aktivieren.
Wie wird die SIMATIC S7-300 als Uhrzeit-Master oder Uhrzeit-Slave für die Uhrzeitsynchronisation über Industrial Ethernet mit dem SIMATIC Verfahren konfiguriert?
Wie projektieren Sie eine Uhrzeitsynchronisation?
Große Linkliste: Uhrzeitsynchronisation - Zeitsynchronisation im Automatisierungsumfeld

Harald

Eine sehr interessante Funktion. Bei der Anlage kommuniziert der Leitrechner über eine CP343-1.
Das mit dem DB funktioniert bereits. Dank dem klassen Forum!
 
Zurück
Oben