如何从 PLC 获取当前时间 (Beckhoff)

ali*_*waz 3 plc st

我试图从 PLC (Beckhoff-cx5130) 获取当前时间。我尝试过“GETSYSTEMTIME”,但没有得到任何输出。我还尝试了“NT_GetTime”“TIMESTRUCT”和“T_FILETIME”,但显示一些编译错误(可能是库问题)。关于此问题的任何建议(示例代码)将受到高度赞赏。谢谢!

ali*_*waz 5

我忘记添加 TcUtilities.Lib。添加后,一切正常。欲了解更多信息,请参阅 Beckhoff 的 InfoSys

示例代码

PROGRAM MAIN
VAR
    fbSystemTime : GETSYSTEMTIME;
    timeAsFileTime : T_FILETIME;
    timeAsDT : DT;
END_VAR

fbSystemTime(
    timeLoDW=>timeAsFileTime.dwLowDateTime,
    timeHiDW=>timeAsFileTime.dwHighDateTime 
);

timeAsDT := FILETIME_TO_DT(timeAsFileTime); 
Run Code Online (Sandbox Code Playgroud)