Hallo
wie kann man von einem dateitype time seperat die einzenlnen werte ausgeben?
sec werden bis 60 gezählt und dan fangen sie wieder vorne an?
Gibt es eine möglichkeit?
Grüsse
Moin
Von der RTC bekommst du in der Regel SystemTimeDate zurück.
Ansonsten evtl. TIME_TO_STRING und dann den String zerlegen.
z.b.
SysTime(SystemTime:=sST,TimeDate:=sTD);
strStringBuffer := '';
IF sTD.Hour < 10 THEN
strStringBuffer := CONCAT(strStringBuffer,'0');
END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Hour));
strStringBuffer := CONCAT(strStringBuffer,':');
IF sTD.Minute < 10 THEN
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Minute));
IF sTD.Second < 10 THEN
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Second));
strStringBuffer := CONCAT(strStringBuffer,',');
IF sTD.Milliseconds < 100 THEN
strStringBuffer := CONCAT(strStringBuffer,'0'); IF sTD.Milliseconds < 10 THEN strStringBuffer := CONCAT(strStringBuffer,'0'); END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Milliseconds));
Gruß
Erik
Log in to post a comment.
Hallo
wie kann man von einem dateitype time seperat die einzenlnen werte ausgeben?
sec werden bis 60 gezählt und dan fangen sie wieder vorne an?
Gibt es eine möglichkeit?
Grüsse
Moin
Von der RTC bekommst du in der Regel SystemTimeDate zurück.
Ansonsten evtl. TIME_TO_STRING und dann den String zerlegen.
z.b.
SysTime(SystemTime:=sST,TimeDate:=sTD);
strStringBuffer := '';
IF sTD.Hour < 10 THEN
END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Hour));
strStringBuffer := CONCAT(strStringBuffer,':');
IF sTD.Minute < 10 THEN
END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Minute));
strStringBuffer := CONCAT(strStringBuffer,':');
IF sTD.Second < 10 THEN
END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Second));
strStringBuffer := CONCAT(strStringBuffer,',');
IF sTD.Milliseconds < 100 THEN
END_IF
strStringBuffer := CONCAT(strStringBuffer,UINT_TO_STRING(sTD.Milliseconds));
Gruß
Erik