电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础入门教程 >> 正文

西门子PLC程序控制指令  条件结束指令和子程序指令

作者:佚名    文章来源:网络    点击数:    更新时间:2023/5/29
条件结束指令

  条件结束(END)指令:执行条件成立(左侧逻辑值为1)时,终止当前扫描周期,结束主程序,返回主程序起点。END指令可以在主程序中使用,但不能在子程序或中断服务程序中使用。END指令见表3-11。

  停止指令

  停止(STOP)指令:执行条件成立(左侧逻辑值为1)时,停止执行用户程序时CPU状态由 RUN转到 STOP。STP指令见表3-12。

  如果STOP指令在中断程序中执行,那么该中断立即终止,并且忽略所有挂起的中断,继续扫描程序剩余部分,完成当前周期的剩余动作,包括主用户程序的执行,并在当前扫描的最后,完成从RUN 到 STOP模式的转变。

  看门狗复位指令

  看门狗复位(WDR)指令允许S7-200CPU的看门狗定时器被重新触发,这样可以在不引起看门狗错误的情况下,增加此扫描所允许的时间。WDR指令见表3-13。

 

  跳转指令

  跳转(JMP)指令:把程序的执行跳转到指定的标号,执行跳转后,逻辑堆栈顶总为1;

  标号(LBL)指令:标记跳转目的地的位置;

  操作数 n:0~255。

  JMP指令见表3-14,JMP指令梯形图示例如图 3-16所示。

 

  JMP指令可以在主程序、子程序或者中断服务程序中使用。跳转和与之相应的标号指令必须位于同一程序代码(无论是主程序、子程序还是中断服务程序)。不能从主程序跳到子程序或中断程序,同样也不能从子程序或中断程序中跳出。可以在顺序控制(SCR)程序段中使用JMP指令,但相应的标号指令必须在同一个顺序控制程序段中。

  子程序指令

  S7-200PLC的指令系统具有简单、方便、灵活的子程序调用功能。与子程序有关的操作有:建立子程序、子程序的调用和返回。

  1.建立子程序

  建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单中的“插入”选项,选择“子程序”,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从O开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可进入子程序,并能对它进行编辑。S7-200CPU221、CPU222、CPU 224最大支持64个(0~63)子程序;S7_200CPU 224XP.CPU 226最大支持128个(0~127)子程序。

  2.子程序调用

  (1)子程序调用(CALL)指令在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以指令盒的形式编程。CALL指令见表3-15。

  (2)子程序条件返回(CRET)指令在使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。

 

  使用说明:

  (1)CRET指令多用于子程序的内部,由判断条件决定是否结束子程序调用;RET指令用于子程序的结束。用MicroWIN32编程时,不需要手工输入RET指令,而是由软件自动加在每个子程序结尾。

  (2)子程序嵌套如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度最多为8级。

  (3)当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置为1,堆栈中的其他置为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。

  (4)累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。

  3.带参数的子程序调用

  子程序中可以有参变量,带参数的子程序调用扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。

  1)子程序参数

  子程序最多可以传递16个参数。参数在子程序的局部变量表中加以定义。参数包含下列信息:变量名、变量类型和数据类型。

  (1)变量名变量名最多用8个字符表示,第一个字符不能是数字。

  (2)变量类型变量类型是按变量对应数据的传递方向来划分的,可以是传入子程序(IN)、传入/传出子程序(IN/OUT)、传出子程序(OUT)和暂时变量(TEMP)四种类型。四种变量类型的参数在变量表中的位置必须按以下先后顺序:

  ①IN类型传入子程序参数。所接的参数可以是直接寻址数据(如VBI00)、间接寻址数据(如AC1)、立即数(如16#2344)和数据的地址值(如&VBI06)

  ②IN/OUT类型:传入/传出子程序参数。调用时将指定参数位置的值传到子程序,返回时从子程序得到的结果值被返回到同一地址。参数可以采用直接和间接寻址,但立即数(如16#1234)和地址值(如&VBl00)不能作为参数。

  ③OUT类型:传出子程序参数。它将从子程序返回的结果值送到指定的参数位置。输出参数可以采用直接和间接寻址,但不能是立即数或地址编号。

  ④TEMP类型:暂时变量类型。在子程序内部暂时存储数据,不能用来与主程序传递参数数据。

  (3)数据类型局部变量表中还要对数据类型进行声明。数据类型包括:能流,布尔型,字节、字和双字型,整数、双整数型以及实型。

  ①能流:仅允许对位输入操作,是位逻辑运算的结果。在局部变量表中,布尔能流输入处于所有类型的最前面。

  ②布尔型:布尔型用于单独的位输入和输出。

  ③字节、字和双字型:这三种类型分别声明一个1字节、2字节和4字节的无符号输入或输出参数。

  ④整数、双整数型:这两种类型分别声明一个2字节或4字节的有符号输入或输出参数。

  ⑤实型:该类型声明一个IEEE标准的32位浮点参数。

  2)参数子程序调用的规则

  常数参数必须声明数据类型。例如,把值为223344的无符号双字作为参数传递时,必须用DW#223344来指明。如果缺少常数参数的这一描述,常数可能会被当作不同类型使用。

  输入或输出参数没有自动数据类型转换功能。例如,局部变量表中声明一个参数为实型,而在调用时使用一个双字,则子程序中的值就是双字。参数在调用时必须按照一定的顺序排列,先是输入参数,然后是输入输出参数,最后是输出参数。

  3)变量表使用

  按照子程序指令的调用顺序,参数值分配给局部变量存储器,起始地址是L0.0。使用编程软件时,地址分配是自动的。在局部变量表中要加入一个参数,右击要加入的变量类型区可以得到一个选择菜单,选择“插入”,然后选择“下一行”即可。局部变量表使用局部变量存储器。当在局部变量表中加入一个参数时,系统自动给各参数分配局部变量存储空间。参数子程序调用指令格式:CALL子程序,参数 I,参数2,.,参数n.局部变量分配见表3-16,带参数调用子程序示例如图3-18所示。

Tags:子程序指令,条件结束指令,西门子plc  
责任编辑:admin
相关文章列表
西门子PLC设计 天塔之光实验  S7-200 SMART
西门子S7-300 PLC和MM440变频器控制吸尘风机案例 风机节能自动控
西门子plc  1分钟学会S7-1200基本指令——SR、RS
RS触发器与SR触发器的几点区别,复位优先触发器和置位优先触发器
西门子plc S7-200按下启动按钮指示灯点亮,按钮使用计数器和计时
S7-1200 PLC跑马灯程序设计,接线图和控制流程图
西门子S7-200SMARTPLC循环走马灯如何编写 plc跑马灯程序
使用S7-200编写的一个货物进出的梯形图实例编程 仓库进出货实例梯
基于S7-200组合式空调恒温恒湿的自动控制 温湿度控制
昆仑通态触摸屏TPC7062kx和西门子s7-200 cpu224cn通信设置
PLC200入门笔记1-软件安装和程序下载 STEP7软件下载和安装
西门子plc s7-200smart modbus-tcp通信实例编程详细指导,STEP7软
西门子PLC控制数码管显示,停车场PLC程序实例!七段编码指令SEG,
PLC编程经典实例,西门子 S7-200 SMART plc恒压供水系统
西门子S7-200 Smart PLC的扩展模块之数字量输入模块 EM DE08和EM
ATX电源实例电路图  两款ATX开关电源电路图
西门子plc S7-200 Smart的模拟量输出模块EM AQ02和EM AQ04模块说
S7-200 SMART 通讯控制 V20变频器,MODBUS通讯控制变频器
什么是PLC?看完就明白! 小型plc中型plc大型plc的区分
昆仑通态触摸屏用串口与西门子200通讯,用网口做数据中转,把PLC
昆仑通态MCGS与西门子PLC的连接与调试,昆仑通态和西门子plc通讯
西门子 PLC S7-200SMART与MCGS触摸屏485通讯连接,昆仑通态和西门
昆仑通态MCGS触摸屏与西门子SMART系列PLC通讯,昆仑通态和西门子
昆仑通态MCGS组态软件怎么和西门子200plc   VD变量对应地址
昆仑通态MCGS组态软件怎么和西门子200plc变量对应,触摸屏编程
西门子S7-200 SMART plc运动控制指令讲解 AXISx_CTRL和AXISx_MAN
西门子S7-200 SMART PLC中用STEP7采用高速计数器来接收轴运动输出
西门子S7-200SMART PLC编写的步进电机控制程序梯形图
西门子plc S7-200与模拟量模块EM231的采集电流信号发生器梯形图实
西门子S7-200 plc模拟量转换程序详解 公式及子程序梯形图 反向计
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询