meta data for this page
lamaLibrary: DT to string
System time convert to string date / time / date_and_time format.
FUNCTION_BLOCK "dtToStringDateAndTime" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 VAR timeDT : DATE_AND_TIME; timeDTL {InstructionName := 'DTL'; LibVersion := '1.0'} : DTL; stampDate : STRING; stampTime : STRING; stampDT : STRING; tempStr : STRING; retVal : INT; END_VAR BEGIN // lamaPLC source: https://lamaplc.com/doku.php?id=lamalib:dt_to_string // read local system time #retVal := RD_LOC_T(#timeDT); // convert it to dtl struct #timeDTL := DT_TO_DTL(#timeDT); // select year #stampDate := UINT_TO_STRING(#timeDTL.YEAR); #stampDate := DELETE(IN := #stampDate, L := 1, P := 1); #stampDate := CONCAT(IN1 := #stampDate, IN2 := '-'); // select month #tempStr := USINT_TO_STRING(#timeDTL.MONTH); #tempStr := DELETE(IN := #tempStr, L := 1, P := 1); IF #timeDTL.MONTH < 10 THEN // if need it to fill with a zero #stampDate := CONCAT(IN1 := #stampDate, IN2 := '0'); END_IF; #stampDate := CONCAT(IN1 := #stampDate, IN2 := #tempStr); #stampDate := CONCAT(IN1 := #stampDate, IN2 := '-'); // select day #tempStr := USINT_TO_STRING(#timeDTL.DAY); #tempStr := DELETE(IN := #tempStr, L := 1, P := 1); IF #timeDTL.DAY < 10 THEN // if need it to fill with a zero #stampDate := CONCAT(IN1 := #stampDate, IN2 := '0'); END_IF; #stampDate := CONCAT(IN1 := #stampDate, IN2 := #tempStr); // select hour #stampTime := UINT_TO_STRING(#timeDTL.HOUR); #stampTime := DELETE(IN := #stampTime, L := 1, P := 1); IF #timeDTL.HOUR < 10 THEN // if need it to fill with a zero #stampTime := CONCAT(IN1 := '0', IN2 := #stampTime); END_IF; #stampTime := CONCAT(IN1 := #stampTime, IN2 := '-'); // select minute #tempStr := UINT_TO_STRING(#timeDTL.MINUTE); #tempStr := DELETE(IN := #tempStr, L := 1, P := 1); IF #timeDTL.MINUTE < 10 THEN // if need it to fill with a zero #tempStr := CONCAT(IN1 := '0', IN2 := #tempStr); END_IF; #stampTime := CONCAT(IN1 := #stampTime, IN2 := #tempStr); #stampTime := CONCAT(IN1 := #stampTime, IN2 := '-'); // select second #tempStr := UINT_TO_STRING(#timeDTL.SECOND); #tempStr := DELETE(IN := #tempStr, L := 1, P := 1); IF #timeDTL.SECOND < 10 THEN // if need it to fill with a zero #tempStr := CONCAT(IN1 := '0', IN2 := #tempStr); END_IF; #stampTime := CONCAT(IN1 := #stampTime, IN2 := #tempStr); // generate dt #stampDT := #stampDate; #stampDT := CONCAT(IN1 := #stampDT, IN2 := ' : '); #stampDT := CONCAT(IN1 := #stampDT, IN2 := #stampTime); END_FUNCTION_BLOCK
Main site > LamaLibrary Simatic
lamaLibSimatic topics on lamaPLC
Page | Date | User | Tags |
---|---|---|---|
2024/11/18 21:46 | tia, scl, lamalibsimatic, source code, energy meter, modbus, register, word | ||
2024/11/18 21:55 | tia, scl, lamalibsimatic, source code, energy meter, modbus, register, word | ||
2024/11/18 21:54 | tia, scl, lamalibsimatic, source code, join, bits, byte, convert | ||
2025/05/26 12:52 | tia, scl, lamalibsimatic, source code, dt, string, convert | ||
2024/11/18 21:45 | tia, scl, lamalibsimatic, source code, math, power of 10 |
This page has been accessed for: Today: 1, Until now: 88