说明

计时是编程模块,常用于控制某段程序或子程序执行指定的时间,或计算某段程序执行的时间。有“驱动”类中的“开始计时”和“获取计时”2个模块(图 1)。

“开始计时”和获取“计时”模块

“开始计时”模块设置计时开始并将计时时间清0,下次获取的计时时间从当前时刻开始。在使用“计时”之前必须至少使用一个“开始计时”,否则“计时”模块的返回值将不确定。

“计时”模块用于获取从上次开始计时到当前经过的时间,单位为毫秒。

计时类模块与“延时”的区别为:延时模块在执行时无法执行其它程序模块,必须等待其执行完毕。而计时类模块可看作是系统自动更新的时间“变量”,程序在需要时获取这个“变量”的值或清空其值。因此,在使用计时类模块时,可以同时执行其它模块、子程序等。

实例

此实例控制机器人在轨迹线上行走8000毫秒(8秒)。仿真时,机器人先使用“延时”直行1000毫秒,再使机器人沿轨迹线行走,并检测计时时间,当计时到达或超过8000毫秒时,机器人停止。

机器人——“机器人-实例-计时模块”。

控制程序——“机器人-实例-计时模块”。

机器人

“机器人-实例-计时模块”的机器人如图 2所示,前方左右两侧各安装1个“灰度传感器”,检测方向朝下,端口分别为31和32。

有关“灰度传感器”的内容请参阅第十一章 灰度传感器。

“机器人-实例-计时模块”结构及属性设置

控制程序

“程序-实例-计时模块”的流程见图 3。此程序分两部分,主程序实现计时控制走轨迹,子程序实现走轨迹。

“程序-实例-计时模块”的主程序流程及属性设置

“轨迹”子程序见图 4,其程序基本思路为:

●“灰度传感器_左”检测到黑色轨迹线——左转

●“灰度传感器_右”检测到黑色轨迹线——右转

●两个传感器都没有检测到轨迹线——前进

“程序-实例-计时模块”的“轨迹”子程序流程及属性设置

仿真视频