首页 理论教育 程序的组成和结构简介

程序的组成和结构简介

时间:2023-06-29 理论教育 版权反馈
【摘要】:图3.1-1 用户程序的组成1)逻辑块。图3.1-3 指令表网络的编程4.程序结构PLC程序结构是组成程序的逻辑块的排列、组织与管理形式,它有线性结构与调用结构两种形式。

程序的组成和结构简介

1.基本说明

PLC程序设计是运用PLC特殊的编程语言,将对象的控制条件与动作要求转化为PLC可以识别的指令的过程,这些指令的集合称为“PLC用户程序”,简称PLC程序。PLC程序经CPU的运算与处理,即可获得所需要的执行元件动作。

PLC程序设计无固定的方法,有的人习惯于凭经验设计;有的人习惯于按逻辑表达式设计;有的场合还可根据继电器控制电路设计等,对于同样的要求与动作,可以实现的程序形式多样。PLC用户程序采用何种设计方法、何种结构形式、何种编程语言并不重要,只要能够保证动作可靠,程序简洁明了、便于检查,就是好程序。

SIEMENS 808/802/808D系统集成有S7-200PLC功能,而SIEMENS 810/840D系统则集成有S7-300PLC功能,两者在PLC程序结构、组成逻辑块、编程语言、编程软件,以及可使用的编程元件数量、PLC功能指令等方面有所区别。

例如,808/802/808D使用的是STEP7-Micro/WIN32编程软件,PLC程序只能使用梯形图(LAD)编程,程序通过基本组织块OB1(也称主程序)进行组织和管理,用户程序以主程序OB1、子程序(SBR)、数据块(DB)、中断程序INT等形式进行编程等。而840D使用的是STEP7编程软件,PLC程序可使用STL、LAD、FBD等多种编程语言;程序通过基本组织块OB1、程序报警处理组织块OB40、重新启动组织块OB100组织和管理;用户程序可进行组织块(OB)、程序块(FC)(也称功能)、功能块(FB)、数据块的编程,如需要,还可调用系统程序块(SFC)、系统功能块(SFB)等。

总体而言,S7-300的程序结构更灵活,可使用的逻辑块种类和内部继电器、定时器/计数器等编程元件的数量更多,PLC编程指令更丰富。但是,由于数控系统集成PLC主要用于CNC的辅助功能处理,PLC用户程序以开关量逻辑处理为主,它不像通用PLC那样,可能使用较多的特殊功能模块,并涉及模拟量处理、PLC轴控制、网络通信控制等诸多内容。实际程序中也较少使用S7-300的FB、SFB、SFC等特殊逻辑块及PLC的特殊功能和编程指令。因此,本书在后述的内容中,主要以802等系列CNC集成S7-200PLC为例,来介绍数控机床PLC程序设计的基本方法。示例中所提供的子程序(SBR)如定义为程序块,同样可用于810/840D系统集成S7-300PLC,对此不再一一说明。

2.程序组成

SIEMENS 808/802/808D数控系统集成S7-200PLC的用户程序组成如图3.1-1所示,程序由逻辑块与数据块组成,逻辑块是程序的主体,数据块用来存储程序数据。逻辑块由多个网络(Network)组成,指令则是组成网络的基本元素。

978-7-111-50291-3-Chapter03-1.jpg

图3.1-1 用户程序的组成

1)逻辑块。逻辑块是指为了实现控制对象某部分功能而设计的指令集合。808/802/808D系统集成S7-200PLC程序采用主-子程序调用式结构,可使用的逻辑块有主程序(OB1)、子程序(SBR)、中断程序(INR)等。

2)网络。STEP7-Micro/WIN梯形图编程软件以网络为单位进行编译和处理,程序段注释也以网络为单位添加,网络的编号可由编辑软件自动生成。采用梯形图编程时,PLC程序中的网络有规定的格式和要求(见下述)。

3)指令。指令是组成PLC用户程序最基本的元素,PLC程序指令有基本逻辑处理、数据比较、格式转换、数学运算、特殊功能指令等多种,不同的程序指令有规定的格式与要求,有关内容可参见相关指令的说明。

3.网络

在采用梯形图编程的808/802/808D系统集成S7-200PLC上,各种PLC编程指令均需要以网络的形式组成程序,网络有以下规定的格式和要求。

1)同一网络内的所有编程元件及功能指令都必须且只能用梯形图的连线进行连接。例如,图3.1-2a中的Q0.0控制程序块和M0.0控制程序块,仅通过编程软件中的主母线连接,因此,它们不能编写在同一程序网络中。(www.xing528.com)

2)为了简化程序,减少程序中的网络数,并方便程序的阅读与注释,实际程序设计时一般需要将相互关联的控制指令组合到同一网络中,为此,需要通过状态恒为“1”的系统特殊内部继电器触点SM0.0,按图3.1-2b所示,在网络中建立一条用梯形图连线连接的子母线,来连接Q0.0和M0.0的控制程序块。

3)网络原则上应以直接与主母线连接的触点为起始,因此,即使实际程序块并不需要触点,但为了符合编程格式,程序中有时需要添加状态恒为1的系统特殊标志(内部继电器在SIEMENS PLC上称为标志,下同)触点SM0.0。

978-7-111-50291-3-Chapter03-2.jpg

图3.1-2 网络的格式要求

4)在集成S7-300 PLC功能的810/840D系统上,如采用STEP 7的指令表编程语言(STL),可以使用图3.1-3a所示的指令,在Network1中,对利用SM0.0连接的Q0.0、M0.0控制指令和直接连接的M0.1控制指令进行连续编程。但是,这样的程序一般不能转换为梯形图,为此,在需要用梯形图进行编程和监控的系统上,需要按3.1-3b所示的方法,将指令表程序划分成不同的网络。

978-7-111-50291-3-Chapter03-3.jpg

图3.1-3 指令表网络的编程

4.程序结构

PLC程序结构是组成程序的逻辑块的排列、组织与管理形式,它有线性结构与调用结构两种形式。

线性结构的PLC程序不分块,所有编程指令都集中在一个逻辑块中(OB1),设计时只需要将所有网络依次排列即可。这种结构的PLC程序严格按照从上至下的顺序执行,程序的执行时间(循环扫描时间)不变。线性结构一般适用于程序简单的普及型数控机床或机电设备控制。

调用结构的PLC程序由多个逻辑块组成,程序由组织块进行组织与调度,程序执行时可根据不同的外部条件,改变逻辑块的实际执行顺序或跳过部分逻辑块。调用结构可改变PLC程序的执行顺序,程序执行时间(循环扫描时间)也将根据实际处理的逻辑块数量改变。

S7-200PLC采用图3.1-4所示的主-子程序调用结构,程序由主程序、子程序、中断程序等逻辑块组成。主程序规定使用组织块OB1,它是每次循环扫描都必须执行的程序块,用户程序必须进行编制,且需要放在程序的最前面。子程序SBR、中断程序INT(如有)可根据实际需要编写与调用,程序的排列顺序为子程序、中断程序。

978-7-111-50291-3-Chapter03-4.jpg

图3.1-4 S7-200的程序结构与执行

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈