首页 理论教育 S7-200PLC程序结构详解

S7-200PLC程序结构详解

时间:2023-06-29 理论教育 版权反馈
【摘要】:S7-200 PLC就是采用线性化编程方法。图2-13 分部式编程的程序调用结构图2-14 结构化编程的程序调用结构2.S7-200 PLC的程序结构S7-200 PLC的程序结构属于线性化编程,其用户程序一般由3部分构成:用户程序、数据块和参数块。图2-15 S7-200 PLC的程序结构数据块 S7-200 PLC中的数据块,一般为DB1,主要用来存放用户程序运行所需的数据。参数块 在S7-200 PLC中,参数块中存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。

S7-200PLC程序结构详解

一个系统的控制功能是由用户程序决定的。为完成特定的控制任务,需要编写用户程序,使得PLC能以循环扫描的工作方式执行用户程序。在SIMATIC S7系列中,为适应用户程序的不同需求,STEP7为用户提供了3种程序设计方法,其程序结构分别为:线性化编程、分部式编程和结构化编程。

1.程序结构

(1)线性化编程 所谓线性化编程就是将用户程序连续放置在一个指令块内,这个指令块在SIMATIC的PLC中,通常称为组织块(OB1)。CPU周期性地扫描OB1,使用户程序在OB1内顺序执行每条指令。

由于线性化编程将全部指令都放在一个指令块中,它的程序结构具有简单、直接的特点,适合由一个人编写用户程序。S7-200 PLC就是采用线性化编程方法。

(2)分部式编程 所谓分部式编程就是将一项控制任务分成若干个指令块,每个指令块用于控制一套设备或者完成一部分工作。每个指令块的工作内容与其他指令块的工作内容无关,一般没有子程序的调用,这些指令块的运行是通过组织块(OB1)内的指令来调用。例如,一个分部式程序可能包含以下指令块:

①用于控制设备每一部分的功能块FC(如FC10);

②用于控制设备每一工作状态的功能块FC(如FC20);

③用于控制操作员接口的功能块FC(如FC30);

④用于处理诊断逻辑的功能块FC(如FC40)。

在分部式程序中,既无数据交换也无重复利用的代码,因此分部式编程允许多个设计人员同时编写用户程序,而不会发生内容冲突。分部式编程的程序调用结构如图2-13所示。

(3)结构化编程 所谓结构化编程是将整个用户程序分成一些具有独立功能的指令块,其中有若干个子程序块,然后再按照要求调用各个独立的指令块,从而构成一个完整的用户程序。结构化编程的特点:编程简单,结构清晰,可以采用子程序技术使部分程序标准化,调试方便。一般比较大型的控制程序,均采用结构化编程。结构化编程的程序调用结构如图2-14所示。

978-7-111-33698-3-Chapter02-29.jpg

图2-13 分部式编程的程序调用结构

978-7-111-33698-3-Chapter02-30.jpg(www.xing528.com)

图2-14 结构化编程的程序调用结构

2.S7-200 PLC的程序结构

S7-200 PLC的程序结构属于线性化编程,其用户程序一般由3部分构成:用户程序、数据块和参数块。

(1)用户程序 一个完整的用户程序一般是由一个主程序、若干子程序和若干个中断处理子程序组成的。对线性化编程,主程序应安排在程序的最前面,其次为子程序和中断程序,如图2-15所示。

如果用工业编程软件STEP 7-Micro/WIN32在计算机上编程,可以用两种方法组织程序结构,一种方法是利用编程软件的程序结构窗口,分别双击主程序、子程序和中断程序的图标,即可进入各个程序块的编程窗口。编译时编程软件自动对各个程序段进行连接。另一种方法是只进入主程序窗口,将主程序、子程序和中断程序按顺序依次安排在主程序窗口。

978-7-111-33698-3-Chapter02-31.jpg

图2-15 S7-200 PLC的程序结构

(2)数据块 S7-200 PLC中的数据块,一般为DB1,主要用来存放用户程序运行所需的数据。在数据块中允许存放的数据类型为:布尔型、十进制二进制十六进制字母、数字和字符型。

(3)参数块 在S7-200 PLC中,参数块中存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。

(4)主程序 主程序(OB1)是程序的主体,每一个项目都必须并且只能有一个主程序。在主程序中可以调用子程序和中断程序。

主程序通过指令控制整个应用程序的执行,每次CPU扫描都要执行一次主程序。STEP 7-Micro/WIN的程序编辑器窗口下部的标签用来选择不同的程序。因为各个程序已被分开,各程序结束时不需要加入无条件结束指令或无条件返回指令。

(5)子程序 子程序是一个可选的指令的集合,仅在被其他程序调用时执行。同一子程序可以在不同的地方被多次调用,使用子程序可以简化程序代码和减少扫描时间。设计得好的子程序容易移植到别的项目中去。

(6)中断程序 中断程序是指令的一个可选集合,中断程序不是被主程序调用,它们在中断事件发生时由PLC的操作系统调用。中断程序用来处理预先规定的中断事件,因为不能预知何时会出现中断事件,所以不允许中断程序改写可能在其他程序中使用的存储器

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

我要反馈