网站首页 > 基础教程 正文
依次测试条件,直至满足其中一个条件。通过与该条件相关的指令,继续程序执行。如果未满足任何条件,则通过符合ELSE的指令,继续程序执行。如果满足多个条件,则仅执行与第一个此类条件相关的指令。
IF 的语法结构
IF Condition THEN
<SMT>
ELSEIF Condition THEN
<SMT>
ELSE
<SMT>
ENDIF
Condition:条件
<SMT>:需要执行的指令
语法说明:IF条件判断指令,就是根据不同的条件(Condition)去执行不同的指令。条件判定的条件数量可以根据实际情况进行增加或减小
格式 | IF Condition THEN DO ENDIF | |
参数 | Condition | 判断条件 |
DO | 执行语句 |
示例
有关于如何使用指令FOR的更多例子阐述如下。
MODULE MainModule
Var num a:=10;
PROC main()
IF a>10 THEN !当a大于10,a减1
a:=a-1;
ELSEIF a<1 THEN !当a小于10,a加1
a:=a+1;
ELSE !当前面的条件(Condition)都不满足,就跳转到aa标签
GOTO aa;
ENDIF
aa:
MoveJ pHome,v1000,fine,tool0\WObj:=wobj0;
ENDPROC
ENDMODULE
MODULE MainModule
VAR num x := 0;
VAR num y := 0;
CONST num bian := 50;
CONST robtarget p10:=[[355.53,-499.89,643.48],[1.77401E-7,3.39455E-8,1,-5.27226E-8],[-1,0,-1,0], [9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
CONST robtarget p20:=[[355.53,50.11,643.48],[4.32223E-9,-3.8027E-8,-1,1.91626E-8],[0,-1,0,0], [9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
CONST jointtarget jpos10:=[[0,0,0,0,90,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROC main()
MoveAbsJ jpos10\NoEOffs, v1000, z50, tool0; !安全点
Reset Vacuum; !初始化吸嘴
aa: !标签aa
!试想一下,人抓东西和放东西
MoveJ Offs(p10,x*bian,y*bian,200),v1000,fine,tool0\WObj:=wobj0;!离抓取点的上方z轴200
MoveL Offs(p10,x*bian,y*bian,0),v1000,fine,tool0\WObj:=wobj0; !到达抓取点
Set Vacuum; !吸取物块
WaitTime 1; !等待1秒
MoveL Offs(p10,x*bian,y*bian,200),v1000,fine,tool0\WObj:=wobj0;!离抓取点的上方z轴200
MoveJ Offs(p20,y*bian,x*bian,200),v1000,fine,tool0\WObj:=wobj0;!离放取点的上方z轴200
MoveL Offs(p20,y*bian,x*bian,0),v1000,fine,tool0\WObj:=wobj0; !到达放取点
Reset Vacuum;!放物块
WaitTime 1; !等待1秒
MoveL Offs(p20,y*bian,x*bian,200),v1000,fine,tool0\WObj:=wobj0;!离放取点的上方z轴200
y := y+1;
IF y<3 THEN !当y小于3时,跳转aa标签执行搬运指令
GOTO aa;
ENDIF
y := 0;
x := x + 1;
IF x<3 THEN !当x小于3时,跳转aa标签执行搬运指令
GOTO aa;
ENDIF
MoveAbsJ jpos10\NoEOffs, v1000, z50, tool0;!安全点
ENDPROC
ENDMODULE
总结
- IF 可以通过 条件 ( Condition ) 进行跳转,选择满足条件的分支
- IF 可以嵌套
- 上一篇: 精通VBA分支结构,少写程序100行
- 下一篇: 3.4 条件判断语句 ---if elif else
猜你喜欢
- 2024-11-20 一文搞懂Golang条件判断:if-else语句详解
- 2024-11-20 无需If-Else语句,状态模式即可编写干净可维护的代码
- 2024-11-20 答应我,别再if/else走天下了可以吗
- 2024-11-20 如何对SpringBoot中的IF-ELSE语句进行优化?
- 2024-11-20 道哥说编程--Java流程控制语句if--else详解
- 2024-11-20 if-elif-else,三目运算符,while条件循环,for迭代循环
- 2024-11-20 设计模式:策略模式避免多重分支语句(ifelse)
- 2024-11-20 Excel VBA流程图解之IF语句,多层IF嵌套,其实很简单
- 2024-11-20 4.2 练习编写简单的if语句和else语句
- 2024-11-20 C/C++编程笔记:if—else语句块,有个细节需要注意
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)