Se ho ben capito quello che ti serve è qualcosa di simile a quello che vedi nello screenshot.
Ecco la macro eseguita a tempo che genera la stringa
macro_command main()
short Hour=0, Minute=0, Second=0
char AValue[2]=""
char Result[32]="The time is:"
GetData(Hour, "Local HMI", LW, 9019, 1) //LW-9019 (16bit) : local hour
DEC2ASCII(Hour, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
StringCat(":", Result[0])
GetData(Minute, "Local HMI", LW, 9018, 1) //LW-9018 (16bit) : local minute
DEC2ASCII(Minute, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
StringCat(":", Result[0])
GetData(Second, "Local HMI", LW, 9017, 1) //LW-9017 (16bit) : local second
DEC2ASCII(Second, AValue[0], 2) //Stringa ASCII con valore (2 cifre)
StringCat(AValue[0], Result[0]) //Aggiungo a risultato il valore
SetData(Result[0], "Local HMI", LW, 20, 32) //Salvo risultato in LW-20
TRACE("Result=%s", Result[0]) //Trace valore e stringa risultato
end macro_command