Ho provato a sentire anche Weintek ma non hanno una macro che converte da Epoch time a data ora. Credo che come hai detto tu la cosa più semplice sia fare transitare i dati sullo SlimLine e poi utilizzare i blocchi funzioni SysDateToETime, SysETimeToDate.
Sperando possa essere utile ad altri visitatori del forum allego il dimostrativo fornito da Weintek per la conversione da Data/Ora in Epoch ed ecco la macro utilizzata.
macro_command main()
short yy, mm, dd, hh, min, ss
unsigned short md[13] = {0,31,59,90,120,151,181,212,243,273,304,334}
unsigned short md_leap[13] = {0,31,60,91,121,152,182,213,244,274,305,335}
unsigned int epoch = 0
unsigned int a,b,c,d,e,f
GetData(yy, "Local HMI", LW, 100, 1)
GetData(mm, "Local HMI", LW, 101, 1)
GetData(dd, "Local HMI", LW, 102, 1)
GetData(hh, "Local HMI", LW, 103, 1)
GetData(min, "Local HMI", LW, 104, 1)
GetData(ss, "Local HMI", LW, 105, 1)
yy = yy - 1900
mm = mm-1
if yy%4==0 then
dd = md_leap[mm] + dd - 1
else
dd = md[mm] + dd - 1
end if
a = (yy-70) * 31536000
b = (yy-69) / 4 * 86400
c = (yy-1) /100 * 86400
d = (yy + 299) / 400 * 86400
epoch = ss + min*60 + hh*3600 + dd*86400 + a + b - c + d
SetData(epoch, "Local HMI", LW, 0, 1)
end macro_command