Monat : BYTE ; //Monat (1-12)
Jahr : BYTE ; //Jahr (80-99/0-29)
Reserviert_5 : BOOL ;
END_STRUCT ;
END_STRUCT ;
END_VAR
VAR_TEMP
retval : INT ;
END_VAR
BEGIN
NETWORK
TITLE =Auftragsnummer an VISU senden
// Auftrag "41" an die Visualisierung senden, damit diese ihre Zeit im Auftragsfach aktualisiert
L 41;
T #Bereichszeiger.Steuerungsauftrag.Autragsnummer;
NETWORK
TITLE =Datum/Uhrzeit von der Visu umkopieren
L P##Datum_Uhrzeit_VISU;
LAR1 ;
L #Bereichszeiger.Datum_Uhrzeit.Jahr;
T DIB [AR1,P#0.0];
L #Bereichszeiger.Datum_Uhrzeit.Monat;
T DIB [AR1,P#1.0];
L #Bereichszeiger.Datum_Uhrzeit.Tag;
T DIB [AR1,P#2.0];
L #Bereichszeiger.Datum_Uhrzeit.Stunde;
T DIB [AR1,P#3.0];
L #Bereichszeiger.Datum_Uhrzeit.Minute;
T DIB [AR1,P#4.0];
L #Bereichszeiger.Datum_Uhrzeit.Sekunde;
T DIB [AR1,P#5.0];
L 0; // Wert für ms, hier auf 0 da WinCC flexible keine ms schreibt
T DIB [AR1,P#6.0];
L #Bereichszeiger.Datum_Uhrzeit.Wochentag;
T DIB [AR1,P#7.0];
NETWORK
TITLE =SPS-Zeit aktualisieren
U #Datum_Uhrzeit_setzen;
SPBN goto;
CALL "SET_CLK" (
PDT := #Datum_Uhrzeit_VISU,
RET_VAL := #retval);
SET ;
R #Datum_Uhrzeit_setzen;
goto: NOP 0;
END_FUNCTION_BLOCK