TwinCAT - 如何测量程序执行时间?
TwinCAT - How to measure program execution time?
我想测量结构化文本 (ST) 程序的执行时间。与程序关联的任务是 运行 在 10 毫秒。
如何衡量执行时间?
您可以使用免费的 TwinCAT 库 Tc2_Utilities
,它有一个功能块 Profiler
。
“Profiler”功能块可用于测量 PLC 代码的执行时间。
Infosys 页面也有示例代码:
VAR
Profiler1 : PROFILER;
END_VAR
Profiler1(START := TRUE, RESET := TRUE);
//Do something here
Profiler1(START := FALSE);
//Now Profiler1.Data has the execution time
当然,您可以使用 Profiler,但出于演示目的,您可以像这样测量执行时间。
PROGRAM PLC_PRG
VAR
tStart: TIME; (* Time program start *)
tWork : TIME; (* Execution time *)
END_VAR
(* First line of main program *)
tStart := TIME();
// Your program here
(* Last line of your program *)
tWork := TIME() - tStart;
END_PROGRAM
我想测量结构化文本 (ST) 程序的执行时间。与程序关联的任务是 运行 在 10 毫秒。
如何衡量执行时间?
您可以使用免费的 TwinCAT 库 Tc2_Utilities
,它有一个功能块 Profiler
。
“Profiler”功能块可用于测量 PLC 代码的执行时间。
Infosys 页面也有示例代码:
VAR
Profiler1 : PROFILER;
END_VAR
Profiler1(START := TRUE, RESET := TRUE);
//Do something here
Profiler1(START := FALSE);
//Now Profiler1.Data has the execution time
当然,您可以使用 Profiler,但出于演示目的,您可以像这样测量执行时间。
PROGRAM PLC_PRG
VAR
tStart: TIME; (* Time program start *)
tWork : TIME; (* Execution time *)
END_VAR
(* First line of main program *)
tStart := TIME();
// Your program here
(* Last line of your program *)
tWork := TIME() - tStart;
END_PROGRAM