西门子plc初学建议(30天快速入门西门子PLC)

程序控制指令

程序控制指令包含跳转指令、循环指令、子程序指令、中断指令和顺控继电器指令。程序控制指令用于程序执行流程的控制。对于一个扫描周期而言,跳转指令可以是程序出现跳跃以实现程序段的选择;子程序指令可调用某些子程序,增强程序的结构化,使程序的可读性增强,使程序更加简洁;中断指令则是用于中断信号引起的子程序调用;顺控继电器指令可形成状态程序段中各状态的激活及隔离。

跳转指令(JMP)和跳转地址标号(LBL)配合实现程序的跳转。使能端输入有效时,程序跳转到指定标号n处(同一程序内),跳转标号n=0~255;使能端输入无效时,程序顺序执行。

西门子plc初学建议(30天快速入门西门子PLC)(1)

跳转指令的使用要注意如下几点

1、允许多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号,同一个指令中不能有两个相同的标号。

2、跳转指令具有程序选择功能。

3、主程序、子程序和中断服务程序中都可以使用跳转指令,SCR程序段中也可以使用跳转指令,但要特别注意。

4、若跳转指令中使用上升沿或者下降沿脉冲指令时,跳转只执行一个周期,但若使用SM0.0作为跳转条件,跳转则成为无条件跳转。

循环指令

循环指令(FOR-NEXT)用于 一段程序的重复循环执行,有FOR指令和NEXT指令构成程序的循环体,FOR标记循环的开始,NEXT为循环体的结束指令,FOR指令为指令盒格式,主要参数有使能输入EN、当前值计数器INDX、循环次数初始值INIT和循环计数终值FINAL。

西门子plc初学建议(30天快速入门西门子PLC)(2)

当使能输入EN有效时,循环体开始执行,执行到NEXT指令时返回。每执行一次循环体,当前计数器INDX增1,达到终值FINAL时,循环结束。FINAL为10,使能输入有效时,执行循环体,同时INDX从1开始计数,每执行一次循环体,INDX当前值加1,执行到10次时,当前值也变为10,循环结束。

使用循环指令时要注意如下事项

1、使能输入无效时,循环体程序不执行。

2、FOR指令和NEXT指令必须成对使用。

3、循环可以嵌套,最多为8层。

子程序调用指令

子程序有子程序调用和子程序返回两大类指令,子程序返回又分为条件返回和无条件返回。子程序调用指令(SBR)用在主程序或其他调用子程序的程序中,子程序的无条件返回指令在子程序的最后网络段。子程序结束时,程序执行应返回原调用指令(CALL)的下一条指令处。

建立子程序的方法是:在编程软件的程序数据窗口的下方有主程序(OBI)、子程序(SUB0)、中断服务程序(INT0)的标签,单击子程序标签即可进入SUB0子程序显示区,也可以通过指令树的项目进入子程序SUB0显示区。添加一个子程序时,可以用菜单栏中的“编辑”→“插入”命令增加一个子程序,子程序编号n从0开始自动向上生成。建立子程序最简单的方法是在程序编辑器中的空白处单击鼠标右键,在选择“插入”→“中断程序”命令即可。

通常将具有特定功能并且将能多次使用的程序段作为子程序。子程序可以多次被调用,也可以嵌套(最多8层)。当首次扫描时,调用子程序,若条件满足(M0.0=1)则返回,否则执行FILL指令。

西门子plc初学建议(30天快速入门西门子PLC)(3)

中断指令

中断是计算机特有的工作方式,即在主程序的执行过程中中断主程序,而执行中断子程序。中断子程序是为某些特定的控制功能而设定的。与子程序不同,中断是为随机发生的且必须立即响应的时间安排的,其响应时间应小于机器周期。引发中断的信号称为中断源,S7-200有34个中断源。

西门子plc初学建议(30天快速入门西门子PLC)(4)

西门子plc初学建议(30天快速入门西门子PLC)(5)

中断的分类

1、I/O口中断 I/O口中断包括上升沿和下降沿中断、高速计数器中断和脉冲串输出中断。S7-200可以利用I0.0~I0.3都有上升沿和下降沿这一特性产生中断事件。

2、通信口中断 通信口中断包括端口0(Port0)和端口1(Port1)接受和发送中断。PLC的串行通信口可由程序控制,这种模式称为自由口通信模式,在这种模式下通信,接受和发送中断可以简化程序。

3、时基中断 时基中断包括定时中断及定时器T32/96中断。定时中断可以反复执行,定时中断是非常有用的。

中断指令共有6条,包括中断连接、中断分离、清除中断事件、中断禁止、中断允许和中断条件返回。

西门子plc初学建议(30天快速入门西门子PLC)(6)

使用中断注意事项

1、一个事件只能连接一个中断程序,而多个中断事件可以调用同一个中断程序,但一个中断事件不可能在同一时间建立多个中断程序。

2、在中断子程序中不能使用DISI、ENI、HDFE、FOR-NEXT和END等指令。

3、程序中有多个中断子程序时,要分别编号。在建立中断程序时,系统会自动编号,也可以更改编号。

暂停指令

使能端输入有效时,立即停止程序的执行。指令执行的结果是,CPU的工作方式由RUN切换到STOP方式。

西门子plc初学建议(30天快速入门西门子PLC)(7)

结束指令

结束指令(END/MEND)直接连在左侧母线时,为无条件结束指令(MEND),不连在左侧母线时,为条件结束指令。

西门子plc初学建议(30天快速入门西门子PLC)(8)

条件结束指令在使能端输入有效时,终止用户程序的执行,返回主程序的第一条指令行(循环扫描方式)。

无条件结束指令执行时(指令直接连在左侧母线上,无使能输入),立即终止用户程序的执行,返回主程序的第一条指令行。

结束指令只能在主程序中使用,不能在子程序和中断服务程序中使用。

顺控继电器指令

西门子plc初学建议(30天快速入门西门子PLC)(9)

顺控继电器指令编程应注意:

1、不能把S位用于不同的程序中。

2、顺控继电器指令SCR只对状态元件S有效。

3、不能在SCR段中使用FOR、NEXT和END指令。

4、在SCR之间不能有跳入和跳出,也就是不能使用JMP和LBL指令。但注意,可以在SCR程序段附近和SCR程序段内可以使用跳转指令。

今天的分享就到这里,欢迎大家在下方留言,交流!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页