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
