Autor Thema: Zwei Variablen vom Typ TIMESTRUCT subtrahieren?  (Gelesen 8430 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Kristof

  • Gast
Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
« 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?

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
« Antwort #1 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

Offline peewit

  • Entwickler
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
« Antwort #2 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)
 

Kristof

  • Gast
Re:Zwei Variablen vom Typ TIMESTRUCT subtrahieren?
« Antwort #3 am: 23. September 2010, 09:35:47 »
Danke für den Tipp.

Ich möchte darüber Betriebsstunden ausrechnen.