DT auflösen

Moin moin,

eine Möglichkeit ist:

str := DT_TO_STRING gibt dir dein DT Wert als String zurück. den kannste dann ja mit String-Funktionen bearbeiten wie du willst ...

Grüße
 
Code:
PROGRAM PLC_PRG
VAR
	dtDate : DT := DT#1996-05-06-15:36:30;
	sDateString : STRING;
	
	bySeconds : BYTE;
	byMinutes : BYTE;
	byHours : BYTE;
	
	byDay : BYTE;
	byMonth : BYTE;
	wYear : WORD;
END_VAR
Code:
sDateString := DT_TO_STRING(dtDate);

bySeconds := STRING_TO_BYTE(STANDARD.RIGHT(STR := sDateString, SIZE := 2));
byMinutes := STRING_TO_BYTE(STANDARD.MID(STR := sDateString, LEN := 2, POS := (LEN(sDateString)-4)));
byHours := STRING_TO_BYTE(STANDARD.MID(STR := sDateString, LEN := 2, POS := (LEN(sDateString)-7)));

byDay := STRING_TO_BYTE(STANDARD.MID(STR := sDateString, LEN := 2, POS := (LEN(sDateString)-10)));
byMonth := STRING_TO_BYTE(STANDARD.MID(STR := sDateString, LEN := 2, POS := (LEN(sDateString)-13)));
wYear := STRING_TO_WORD(STANDARD.MID(STR := sDateString, LEN := 4, POS := (LEN(sDateString)-18)));
 
Hi,
in der Wago lib scheduler03 gibt es die Funktion FuDT_To_DetailTime.
Damin kannst du alle Details extrahieren...
Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@tomrey: nicht die richtige Funktion dabei. Trotzdem DANKE
@Mensetta: bekomme eine Fehlermeldung. (siehe Anhang) was ist falsch gelaufen?
 

Anhänge

  • DT_Fehler.jpg
    DT_Fehler.jpg
    95,4 KB · Aufrufe: 78
MID und RIGHT sind Funktionen aus der Standard.lib. Ich weiss nicht warum Mensetta den Aufruf mit STANDARD.MID bzw STANDARD.RIGHT gemacht hat. MID oder RIGHT sollte eigentlich reichen wenn die Lib eingebunden ist.
Die Deklaration von Standard als bool kannst du bei dir wieder löschen. Das wäre so oder so falsch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also DT erst in einen String zu konvertieren, und dann aus den Strings wieder Werte dürfte so ziemlich das unperformanteste sein was es gibt. Zum Glück sieht man nicht was dadurch im Hintergrund für unnütze Anweisungen ausgeführt werden. Hat natürlich den Vorteil dass man keine externen Bibliotheken benötigt.

In der Oscat Bibliothek sind ebenfalls Funktionen enthalten um einen DT zu zerlegen - ohne String-Umweg.
 
Zurück
Oben