问题描述:
当机器人从位置A到位置B时,如果正常运行是6s,我们要检测这段代码,如果运行时间大于6s了,要默认其出现了问题或者是中间有什么东西阻碍了。所以要对该段代码进行时间检测。设定大于7s时,执行回原位操作。
解决方案:
用到中断指令;
VAR clock clock_test; //时间变量
VAR num time_all; //统计时间
VAR num time; //时间变量
PROC Main()
IDelete iclock_test;
CONNECT iclock_test WITH Clock_time;
ITimer 0.2,iclock_test;
ISleep iclock_test;
iclock_test 为中断代号
Clock_time为中断函数
需用CONNECT将中断代号与中断程序连接起来
下面是中断函数
TRAP Clock_time
ClkStop clock_test;
ClkStart clock_test;
time:=ClkRead(clock_test);
time_all :=time_all+time;
TPWrite "TIME IS:"+valtostr(time_all)+"s";
IF time_all >7 THEN
TPWrite "TIME IS SO LONG, GOHome !!1";