OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: mike_roh_soft am 13. Januar 2012, 11:26:09

Titel: Windows-Systemzeit auf CX einstellen via SPS
Beitrag von: mike_roh_soft am 13. Januar 2012, 11:26:09
Hallo,

ich möchte über meine Visu ein Bit in der SPS anstoßen damit dann die eingegebene Zeit (z.b. 12:45:00) als Windowssystemzeit auf dem CX eingetragen wird.

Ich dachte an den FB NT_SetLocalTime von Beckhoff.
Nun will dieser aber ein TIMESTRUCT von mir haben.
Mir liegt die Zeit aus der Visu aber als STRING vor.

Muss ich jetzt ein TIMESTRUCT deklarieren und den String mühsam zerlegen und in die einzelnen Elemente der Struktur schieben?
Oder gibt es ne kleine Konvertierung oder so?

VAR
fbiSetLocalTime :NT_SetLocalTime;
bSetLocalTime :BOOL;
stSetLocalTime :TIMESTRUCT;
END_VAR
fbiSetLocalTime(
NETID:= '',
TIMESTR:= ,
START:= bSetLocalTime,
TMOUT:= t#3s,
BUSY=> ,
ERR=> ,
ERRID=> );

Gruß Mike
Titel: Re: Windows-Systemzeit auf CX einstellen via SPS
Beitrag von: peewit am 13. Januar 2012, 14:35:47
hallo

nachdem timestruct aus der windowswelt kommt und dies wiederum nur bei beckohff zur anwendung kommt, gibt es in oscat keine bausteine die mit timestruct arbeiten.

im prinzip musst du den string zerlegen, wandeln und in timestruct eintragen

eine kleine hilfe wäre eventuell der baustein "FSTRING_TO_DT"
aber im prinzip konvertieren wir hier sinnlos im kreis

Titel: Re: Windows-Systemzeit auf CX einstellen via SPS
Beitrag von: mike_roh_soft am 14. Januar 2012, 09:23:05
OK,

und gibt es sonst nen Ansatz wie man das bewerkstelligen könnte?

Gruß
Titel: Re: Windows-Systemzeit auf CX einstellen via SPS
Beitrag von: peewit am 14. Januar 2012, 10:00:05

1. deine dt-string mit FSTRING_TO_DT wandeln
2. dann die einzelnen zeitelemente aus DT herausholen und als word in die struktur speichern
3. beckhoff zeit setzen aufrufen

diese gewisse arbeit wird dir nicht erspart bleiben


Zitat
TYPE TIMESTRUCT:
STRUCT
   wYear            : WORD;
   wMonth           : WORD;
   wDayOfWeek       : WORD;
   wDay             : WORD;
   wHour            : WORD;
   wMinute          : WORD;
   wSecond          : WORD;
   wMilliseconds    : WORD;
END_STRUCT
Titel: Re: Windows-Systemzeit auf CX einstellen via SPS
Beitrag von: mike_roh_soft am 14. Januar 2012, 16:03:15
Ne klar.. ich wollte nur nicht das Rad neu erfinden!

Danke für den Tipp mit dem FSTRING_TO_DT !

Den Rest bekomme ich schon hin!

Bye