[西门子] 西门子博图程序控制指令

[复制链接]
查看78627 | 回复0 | 2024-5-23 17:57:21 | 显示全部楼层 |阅读模式
1.---( JMP ):若 RLO ="1" 则跳转

可以使用“若 RLO = "1" 则跳转”指令中断程序的顺序执行,并从其它程序段继续执行。目标程序段必须由跳转标签 (LABEL) 进行标识。在指令上方的占位符指定该跳转标签的名称。

指定的跳转标签与执行的指令必须位于同一数据块中。指定的名称在块中只能出现一次。一个程度段中只能使用一个跳转线圈。

如果该指令输入的逻辑运算结果 (RLO) 为“1”,则将跳转到由指定跳转标签标识的程序段。可以跳转到更大或更小的程序段编号。

如果不满足该指令输入的条件 (RLO = 0),则程序将继续执行下一程序段。

PS:跳转指令必须与标签一起使用



如果M_1条件成立,程序运行跳过程序段2,直接运行程序段3:Q0.3为OFF,M_3有信号M50.0为ON;

如果M_1条件不成立,程序按顺序执行程序段2;

2.---( JMPN ):若 RLO = "0" 则跳转

当该指令输入的逻辑运算结果为“0”时,使用“若 RLO = "0" 则跳转”指令,可中断程序的顺序执行,并从其它程序段继续执行。目标程序段必须由跳转标签 (LABEL) 进行标识。在指令上方的占位符指定该跳转标签的名称。

指定的跳转标签与执行的指令必须位于同一数据块中。指定的名称在块中只能出现一次。一个程度段中只能使用一个跳转线圈。

如果该指令输入的逻辑运算结果 (RLO) 为“0”,则将跳转到由指定跳转标签标识的程序段。可以跳转到更大或更小的程序段编号。

如果该指令输入端的逻辑运算结果为“1”,则程序在下一个程序段中继续执行。

PS:该指令与JMP指令逻辑刚好相反,使用是也必须与标签同时使用。



3. LABEL:跳转标签

可使用跳转标签来标识一个目标程序段。执行跳转时,应继续执行该程序段中的的程序。

跳转标签与指定跳转标签的指令必须位于同一数据块中。跳转标签的名称在块中只能分配一次。CPU S7-1200 最多可以声明 32 个跳转标签,而 CPU S7-1500 最多可以声明 256 个跳转标签

一个程序段中只能设置一个跳转标签。每个跳转标签可以跳转到多个位置。

遵守跳转标签的以下语法规则:

·字母(a 至 z,A 至 Z)

·字母和数字组合;需注意排列顺序,如首先是字母,然后是数字(a - z,A - Z,0 - 9)

·不能使用特殊字符或反向排序字母与数字组合,如首先是数字,然后是字母(0 - 9,a - z,A - Z)

4、JMP_LIST:定义跳转列表

使用“定义跳转列表”指令,可定义多个有条件跳转,并继续执行由 K 参数的值指定的程序段中的程序。K参数决定跳转至那个程序段;

可使用跳转标签 (LABEL) 定义跳转,跳转标签则可以在指令框的输出指定。可在指令框中增加输出的数量。CPU S7-1200 最多可以声明 32 个输出,而 CPU S7-1500 最多可以声明 256 个输出。

输出从值“0”开始编号,每次新增输出后以升序继续编号。在指令的输出中只能指定跳转标签。而不能指定指令或操作数。

K 参数值将指定输出编号,因而程序将从跳转标签处继续执行。如果 K 参数值大于可用的输出编号,则继续执行块中下个程序段中的程序。

仅在 EN 使能输入的信号状态为“1”时,才执行“定义跳转列表”指令。



图中1位置设定数值,可设定UINT类型数据,根据需要选择设定值;

图中4位置点击可添加跳转标签个数;



实例展示:



5、SWITCH:跳转分支指令

可以使用“跳转分支指令”根据一个或多个比较指令的结果,定义要执行的多个程序跳转。

在参数 K 中指定要比较的值。将该值与各个输入提供的值进行比较。可以为每个输入选择比较方法。各比较指令的可用性取决于指令的数据类型。



图中2位置设定数据类型;

图中1位置选择逻辑比较指令1;

图中4位置选择逻辑比较指令2;

图中3位置可添加多个输出标签位;

根据选定的数据类型列出了可用的比较指令:



该指令从第一个比较开始执行,直至满足比较条件为止。如果满足比较条件,则将不考虑后续比较条件。如果未满足任何指定的比较条件,将在输出 ELSE 处执行跳转。如果输出 ELSE 中未定义程序跳转,则程序从下一个程序段继续执行。

可在指令框中增加输出的数量。输出从值“0”开始编号,每次新增输出后以升序继续编号。在指令的输出中指定跳转标签 (LABEL)。不能在该指令的输出上指定指令或操作数。

每个增加的输出都会自动插入一个输入。如果满足输入的比较条件,则将执行相应输出处设定的跳转。



程序运行实例:



当EN驱动条件成立:

当K大于或等于21时,跳转至P1标签程序段;不成立时继续比较;

当K小于25时,跳转至P2标签程序段;不成立时则跳转至ELSE标签程序段;

6、--(RET):返回

可使用“返回”指令停止有条件执行或无条件执行的块。程序块退出时,返回值(操作数)的信号状态与调用程序块的使能输出ENO 相对应。

RET 与 JMP 和 JMPN 指令相关

如果程序段中已包含有“JMP:若 RLO ="1" 则跳转”或“JMPN:若 RLO = "0" 则跳转”指令,则不得使用 RET:返回指令。每个程序段中只能使用一个跳转线圈。



如果操作数“TagIn”的信号状态为“1”,则执行该指令。在所调用的程序块中结束程序执行,然后在正调用块中继续执行。并将调用程序块使能输出ENO 的信号

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则