Probleme mit Uhrzeit stellen

dennish23

Level-1
Beiträge
53
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forumgemeinde

Ich habe ein Problem mit der Uhrzeit. Ich möchte gern aus meiner Visu heraus die Uhrzeit des MFD4 Panels ändern. Dazu schreibe ich als Programm folgendes:

If Eingabezeit<>Eingabezeit_old THEN
SysRtcSetTime(Eingabezeit);
Eingabezeit_old:=Eingabezeit;
END_IF

Gebe auch in der Taskkonfig ne Task vor für 200ms. Aber wenn er darauf zugreift schmeißt mich das Panel aus dem Onlinemodus raus und das Panel hängt sich zudem noch weg.

Hat jemand einen Lösungsvorschlag für mich.

Danke im vorraus.

MFG Dennis
 
SysRtcSetTime(Eingabezeit);

Was läuft in dieser Funktion ab? Hast du darin den FB NT_SetLocalTime verwendet?

NT_SetLocalTime hat ein Start Signal und Busy Signal. Es kann also sein, dass du den Funktionsblock mehrmals aufrufen musst.

Ich glaube so wäre es besser:

SetTimeStart:=FALSE;
If Eingabezeit<>Eingabezeit_old THEN
SetTimeStart:=TRUE;
Eingabezeit_old:=Eingabezeit;
END_IF


ntSetTime(
NETID:='',
START:=SetTimeStart,
TIMESTR:=Eingabezeit,
TMOUT:=T#10s,
BUSY=> TimeBusy,
ERR=> TimeError,
ERRID=> TimeErrorID);

Gruss

Thomas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HI Bührer

Ich arbeite mit der SysLibRtc.lib und dort heißt es nach meinem Verständnis nur das ich es mit dem Befehl SysRtcSetTime(Eingabezeit) aufrufen muss und er das dann ausführt. Die Eingabezeit ist bei mir im Format DT deklariert. Aber irgendwie macht er es nicht. Warum auch immer. Wo kann ich deine libary denn herbekommen um es mit dem Funktionsbaustein mal zu versuchen?

MFG Dennis
 
Es ist in der TcUtilities.Lib

Eine Beschreibung von NT_SetLocalTime findest du in der Beckhoffhilfe

So kannst du die Zeit konvertieren, so dass du mit DT arbeiten kannst:
ntTime := DT_TO_SYSTEMTIME(dtTime);
Gruss

Thomas
 
Zurück
Oben