160 likes | 376 Views
《PLC 应用技术 》. 模块四:功能指令. 主要内容 4-1 程序控制类指令 4-2 数据处理指令 4-3 数学运算、逻辑运算指令. 4.1 程序控制类指令 包括系统控制、跳转、循环、子程序调用、顺序控制等指令。 一 、 系统控制类指令 1. 暂停指令( STOP ) 使能输入有效时,立即终止程序的执行 2. 结束指令( END/MEND ) 结束指令直接连在左侧电源母线时,为无条件结束指令( MEND ),不连在左侧母线时,为条件结束指令( END )。
E N D
《PLC应用技术》 模块四:功能指令
主要内容 4-1 程序控制类指令 4-2 数据处理指令 4-3 数学运算、逻辑运算指令
4.1 程序控制类指令 包括系统控制、跳转、循环、子程序调用、顺序控制等指令。 一 、系统控制类指令 1. 暂停指令(STOP) 使能输入有效时,立即终止程序的执行 2. 结束指令(END/MEND) 结束指令直接连在左侧电源母线时,为无条件结束指令(MEND),不连在左侧母线时,为条件结束指令(END)。 3. 看门狗复位指令(WDR) 使能输入有效时,将看门狗定时器复位。在没有看门狗错误的情况下,可以增加一次扫描允许的时间。若使能输入无效,看门狗定时器定时时间到,程序将中止当前指令的执行,重新启动,返回到第一条指令重新执行。
[例]暂停(STOP)、条件结束(END)、看门狗指令应用举例。[例]暂停(STOP)、条件结束(END)、看门狗指令应用举例。
二、 跳转、循环指令 1. 程序跳转指令(JMP) JMP n 跳转指令 LBL n 跳转标号 跳转指令(JMP)和跳转地址标号指令(LBL)配合实现程序的跳转。使能输入有效时,使程序跳转到指定标号n处执行(在同一程序内),跳转标号n=0~255。使能输入无效时,程序顺序执行。
2. 循环控制指令(FOR) • 循环控制指令,用于描述一段程序的重复循环执行。 • 由FOR和NEXT指令构成程序的循环体。 • FOR标记循环开始,NEXT为循环体结束。 • FOR指令为指令盒格式,主要参数有使能 • 使能输入EN,当前值计数器INDX,循环 • 次数初始值INIT,循环计数终值FINAL。 • 工作原理: 使能输入(EN)有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前计数器(INDX)增1,达到终值(FINAL)时,循环结束。
3.子程序调用指令(SBR) 子程序可以多次被调用,也可以嵌套(最多8层),还可以递归调用(自己调自己)。 CALL SBR0//子程序调用 CRET//条件返回 RET//无条件返回(自动)
[例]循环、跳转及子程序调用指令应用程序。[例]循环、跳转及子程序调用指令应用程序。 NETWORK 1 LDW>= AC0, +100 JMP 10 //跳转 NETWORK 2 LD M0.0 FOR VW100, +1, +20 //循环开始 NETWORK 3 LD I0.0 CALL SBR_0 //调用子程序 NETWORK 4 NEXT //循环返回 NETWORK 5 LD I0.1 S Q0.0, 1 //位置1 NETWORK 6 LBL 10 //标号
[例]循环、跳转及子程序调用指令应用程序。 子程序SUB0 NETWORK 1 LD SM0.0 INCW VW200 //VW200增1 NETWORK 2 LD I0.2 CRET //条件返回
4. 带参数的子程序调用指令 • 子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。 • 带参数子程序调用指令示例 • 局部变量表中的变量有IN、OUT、 IN/OUT和TEMP等4种类型。 • 子程序最多可传递6个参数,传递 的参数在子程序局部变量表中定义。 • EN和IN1的输入为布尔型能流输入, 地址参数&VB100是将一个双字 无符号的值传递到子程序。 • 子程序调用时,输入参数被拷贝到局部存储器。子程序完成时,从局部存储器拷贝输出参数到指定的输出参数地址。
4. 带参数的子程序调用指令 局部变量表 • 。
IN类型:将指定位置的参数传入子程序。 OUT类型:从子程序的结果值(数据)传入到指定参数位置。 IN/OUT类型:将指定位置的参数传到子程序,从子程序来的结果值被返回到同样的地址。 TEMP类型:局部存储器只用作子程序内部的暂时存储器,不能用来传递参数
5. 顺序控制指令 顺序控制指令格式 LSCR Sx.y 步开始 SCRT Sx.y 步转移 SCRE 步结束 顺序控制指令可以将程序功能流程图转换成梯形图程序
[例]编写红绿灯顺序控制程序 步进条件为时间步进型。状态步的处理为点红、熄绿灯,同时启动定时器,步进条件满足时(时间到)进入下一步,关断上一步。