设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子博图程序控制指令
返回列表
发新帖
[西门子]
西门子博图程序控制指令
[复制链接]
78631
|
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
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
非标自动化
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』