欢迎来到天天文库
浏览记录
ID:52838047
大小:140.42 KB
页数:17页
时间:2020-03-22
《工业机器人现场编程全套配套课件川崎沈鑫刚PPTC-31-O-O-程序结构控制命令.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、特殊指令的使用程序结构控制命令程序结构控制命令FOR…TO…ENDIF……THEN…ELSE……ENDWHILE……DO……ENDIF…GOTO程序结构控制命令-FOR…TO…END指令格式:FOR循环变量=起始值TO结束值程序命令END功能:重复程序执行。参数:循环变量:变量或实数值。该变量首先被设置了一个初始值,每次执行循环时加1。起始值:实数或表达式。指定循环变量的初始值。结束值:实数或表达式。此值将和循环变量的当前值比较,如果循环变量的值达到了此值,则程序退出循环。步进值:实数或表达式可略。在每次循环之后将
2、循环变量加上或减去此值。使用STEP语句时输入此参数,除非循环变量以1为单位递增。如步进值未指定,则将默认值1加到循环变量上;这种情况下,STEP语句也可略。STEP步进值程序结构控制命令-FOR…TO…END说明:此流程控制结构命令重复执行位于FOR和END语句之间的程序命令。在每次循环执行之后,循环变量增加给定的步进值。执行流程如下:(1)赋给循环变量起始值。(2)计算结束值和步进值。(3)比较循环变量和结束值。a.如果步进值为正,且循环变量大于结束值,程序跳转到流程7。b.如果步进值为负,且循环变量小于结束值
3、,程序跳转到流程7。(4)执行FOR语句之后的程序命令。(5)当执行到END语句时,步进值被加到循环变量上。(6)返回至流程3。(7)执行END语句之后的程序命令(在流程3中比较测试的循环变量的值不变)。除a和b情况以外,程序跳转到流程4。程序结构控制命令-FOR…TO…END注意:(1)对于每个FOR语句必须有一个与之对应的END语句。(2)请注意,如果循环变量在首次检查时就大于(或小于,如果步进值为负)结束值,则将不执行FOR和END之间的程序命令。(3)循环次数值(循环变量)不允许由FOR循环中的其他程序(操
4、作符、表达式等)改变。程序结构控制命令-FOR…TO…END示例:子程序“pick.place”拾取一个零件并放置到“hole”。零件放置方法如图所示(托盘的放置平行于世界坐标系的X、Y轴,零件之间的距离为100mm)。FORrow=1TOmax.rowPOINThole=SHIFT(start.poseBY(row-1)*100,0,0)FORcol=1TOmax.colCALLpick.placePOINThole=SHIFT(holeBY0,100,0)ENDEND程序结构控制命令-FOR…TO…END指令格
5、式:FOR循环变量=起始值TO结束值程序命令END功能:重复程序执行。参数:循环变量:变量或实数值。该变量首先被设置了一个初始值,每次执行循环时加1。起始值:实数或表达式。指定循环变量的初始值。结束值:实数或表达式。此值将和循环变量的当前值比较,如果循环变量的值达到了此值,则程序退出循环。步进值:实数或表达式可略。在每次循环之后将循环变量加上或减去此值。使用STEP语句时输入此参数,除非循环变量以1为单位递增。如步进值未指定,则将默认值1加到循环变量上;这种情况下,STEP语句也可略。STEP步进值程序结构控制命令
6、-IF……THEN…ELSE……END指令格式:IF逻辑表达式THEN程序命令(1)END功能:根据逻辑表达式的结果执行一组程序步骤。参数:逻辑表达式:逻辑表达式或实数表达式,测试该值为“真”(非0)或“假”(0)。程序命令(1):如果以上逻辑表达式为真,则执行这里输入的程序命令组。程序命令(2):如果以上逻辑表达式为假,则执行这里输入的程序命令组。ELSE程序命令(2)程序结构控制命令-IF……THEN…ELSE……END说明:根据逻辑表达式的值,该流程控制结构执行两组命令中的一组。执行流程如下:(1)计算逻辑表
7、达式,如果其结果为0(假),跳转到流程4。(2)计算逻辑表达式,如果其结果为1(真),执行程序命令(1)。(3)跳转到流程5。(4)如果有ELSE语句,执行程序命令(2)。(5)从END后面的步骤,继续执行程序。注意:(1)ELSE和END语句必须各自独占一行。(2)IF…THEN结构必须以END语句结束。程序结构控制命令-IF……THEN…ELSE……END示例:程序中,如果n大于5,则将程序速度设定为10%,否则设定为20%。IFn>5THENsp=10ELSEsp=20ENDSPEEDspALWAYS程序结构
8、控制命令-IF……THEN…ELSE……END示例:程序首先检查变量“m”的值,如果“m”不为0,则程序检查外部输入信号1001(WX1),并根据信号的状态显示不同的信息。本例中,外面的IF结构没有ELSE语句。IFmTHENIFSIG(1001)THENPRINT"InputsignalisTRUE"ELSEPRINT"InputsignalisFALSE
此文档下载收益归作者所有