OSCAT Forum

Home Automation => SPS-Programmierung => Thema gestartet von: Kristof am 01. September 2010, 14:09:32

Titel: Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
Beitrag von: Kristof am 01. September 2010, 14:09:32
Moin,

ich möchte gerne zwei Variablen vom Typ TIMESTRUCT von einander subtrahieren.
Weiß einer, ob das möglich ist und wie man das realisieren kann?
Titel: Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
Beitrag von: hugo am 15. September 2010, 21:35:01
operationen mit strukturen sind nur dann zulässig wenn es dafür eine funktion gibt.
die einzige immer zulässige operation ist die zuweisung = wie z.b. var1_str1 = var2_str1 das geht aber nur wenn die beiden strukturen gleichen typs sind.
für alle anderen operationen musst du funktionen schreiben.

beschreibe doch mal genauer was du tun möchtest.
vielleicht können wir dir schnell etwas machen
Titel: Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
Beitrag von: peewit am 18. September 2010, 23:23:58
die timestruct die du meinst schaut wahrscheinlich folgend aus (twincat)

TYPE TIMESTRUCT
STRUCT
   wYear            : WORD;
   wMonth           : WORD;
   wDayOfWeek       : WORD;
   wDay             : WORD;
   wHour            : WORD;
   wMinute          : WORD;
   wSecond          : WORD;
   wMilliseconds    : WORD;
END_STRUCT
END_TYPE

um nun die differenz zwischen zwei timestruct zu errechnen machst du folgendes

du wandelst beide timestruct mittels SET_DT Baustein in eine DT variable um
diese beiden DT-Variablen kannst du dann z.b. in dword oder udint wandeln und damit rechnen
nach deiner berechnung kannst du die dt-variable wieder in die einzelteile (year,monat,tag,stunde,minute,sekunden zerlegen
(je nachdem was du damit anstellen willst)
 
Titel: Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
Beitrag von: Kristof am 23. September 2010, 09:35:47
Danke für den Tipp.

Ich möchte darüber Betriebsstunden ausrechnen.