程序的控制构造
程序采用由begin和end联结成的块状构造,从而被构造化,作为为了组合控制构造的语法,备有IF语句,FOR语句,WHILE语句,CASE*语句。关于这些语句,因与PASCAL相同,故说明省略。
为了描述并行动作,引入COBEGIN,COEND块。如下例所示,由COBEGIN,COEND所包围的块内的语句被并行执行。
COBEGIN
MOVEblue-armTOb-park;MOVEred-armTOr-park;
COEND
即blue-arm和red-arm同时分别地向停止场所b-park,r-park移动。
为了描述并行动作中的同步,备有采用semaphore的SIGN-AL语句和WAIT语句。semaphore是整数型变量,其值由
SIGNAL语句和WAIT语句增减。其初始值为0.根据WAITs;
semaphores的值被减1,如果其结果s的值为负,则命令该语句的过程停止执行,如果s的值为非负,这个过程继续执行。
SIGNALs;
这个语句,将s值增加1.关于s,执行WAIT语句之后,若是处于休止过程,则该过程的执行再度开始。若没有处于休止过程,则什么也不进行。
作为并行动作的程序示例,可以考虑用左手抓住物体,然后将该物体递到右手这一作业。这个作业的程序如下:
COBEGIN
BEGIN(leftarm的动作)
MOVEleftarmTOblock;左手移动到积木的位置
CENTERlefthand;抓
AFFIXblockTOleftarm;
MOVEblockTOpass;将积木向递交场所移动SIGNALready-to-pass;递交准备结束
WAITcaught;右手在接受物体之前等待
OPENlefthandTOfull-opening;手离开积木
UNFIXblockFROMleftarm;
SIGNAL,pased;递交结束END;
BEGIN(rightarm的动作)
OPENrighthandTOfull-opening;张开手指
MOVErightarmTOcatch;向积木的接受场所移动WAITready-to-pass;等待左手的递交准备结束信号
CENTERrighthand;抓住积木
SIGNAEcaught;“接受到了”这个信号
WAITpassed;左手在结束递交动作之前等待MOVEblockTOpallet;
END;COEND;
随便看看
- 2024-09-19液压传动中的其它物理现象-液压传动基础知识
- 2024-09-19缸盖-液压传动基础知识
- 2024-12-27工程机械维修常见技术问题分析
- 2024-09-20日立故障代码0168-02:系统电压脉动
- 2024-11-18液压泵电镀修复法