EC机器人在JBI和LUA侧均未提供计时功能函数(JBI中的TIMER实现的是延时功能,程序需要等待)
可以通过调用lua的相关函数,实现计时功能。
注:LUA的os.time() 只能返回精度为s的时间粒度,若要实现毫秒级的及时,可以用采用如下代码
function WaitUntil(var, value) --local vtmp = while get_global_variable(var) ~= value do sleep(0.008) end end local socket = require "socket" -- 借助lua中的socket的gettime(),能获取毫秒级别的时间 while true do set_global_variable('B0',0) WaitUntil('B0',1) --等待变量B0为1,开始计时 local start_time = socket.gettime() elite_print('start record time') WaitUntil('B0',0) --等待变量B0为0,停止计时 local stop_time = socket.gettime() elite_print(stop_time-start_time) end