首页 理论教育 简述S7-1200的程序结构

简述S7-1200的程序结构

时间:2023-06-24 理论教育 版权反馈
【摘要】:表1-7S7-1200 PLC 用户程序块2.组织块组织块是操作系统与用户程序的接口,由操作系统调用,用于控制扫描循环和中断程序的执行、PLC 的启动和错误处理等。各种组织块由不同的事件启动,且具有不同的优先级,而循环执行的主程序则在组织块OB1 中。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。处理中断事件的程序放在该事件驱动的OB 中。

简述S7-1200的程序结构

1.程序的块

S7-1200 与S7-300/400 的程序结构基本相同,编程时采用了块的概念。采用块的概念便于大规模程序的设计和理解,可以设计标准化的块程序进行重复调用,程序结构清晰明了,修改方便,调试简单。

PLC 用户程序中的块包括组织块、函数块、函数和数据块。S7-1200 PLC 用户程序块见表1-7,其中,OB、FB、FC 都包含程序,统称为代码(Code)块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。CPU 模块的手册给出了允许嵌套调用的层数,即嵌套深度。代码块的个数没有限制,但是受到存储器容量的限制。在块调用中,调用者可以是各种代码块,被调用的块是OB 之外的代码块。

表1-7 S7-1200 PLC 用户程序块

2.组织块

组织块(Organization Block,OB)是操作系统与用户程序的接口,由操作系统调用,用于控制扫描循环和中断程序的执行、PLC 的启动和错误处理等。组织块的程序是由用户编写的。每个组织块必须有一个唯一的OB 编号,123 之前的某些编号是保留的,其他OB 的编号应大于或等于123。CPU 中特定的事件触发组织块的执行,OB 不能相互调用,也不能被FC 和FB 调用。只有启动事件(例如诊断中断或周期性中断事件)可以启动OB 的执行。各种组织块由不同的事件启动,且具有不同的优先级,而循环执行的主程序则在组织块OB1 中。

1)启动组织块

当CPU 的工作模式从STOP 切换到RUN 时,执行一次启动(Startup)组织块,来初始化程序循环OB 中的某些变量。执行完启动OB 后,开始执行程序循环OB。可以有多个启动OB,默认的为OB100,其他启动OB 的编号应大于或等于123。

2)程序循环组织块

OB1 是用户程序中的主程序,CPU 循环执行操作系统程序,在每一次循环中,操作系统程序调用一次OB1。因此OB1 中的程序也是循环执行的。允许有多个程序循环OB,默认的是OB1,其他程序循环OB 的编号应大于或等于123。

3)中断组织块

中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断事件出现,CPU 循环执行组织块OB1 和它调用的块。如果出现中断事件,例如诊断中断和时间延迟中断等,因为OB1 的中断优先级最低,操作系统在执行完当前程序的当前指令(即断点处)后,立即响应中断。CPU 暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时地处理。处理中断事件的程序放在该事件驱动的OB 中。组织块的种类及简要说明见表1-8。

表1-8 组织块的种类及简要说明

3.函数块

函数块(Function Block,FB)是用户编写的子程序。它们有一个放在数据块中的变量存储区,而数据块是与其函数块相关联的,称为背景数据块。调用函数块时,需要指定背景数据块,后者是函数块专用的存储区。CPU 执行FB 中的程序代码,将块的输入、输出参数和局部静态数据保存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期快速访问它们。FB 的典型应用是执行不能在一个扫描周期结束的操作。在调用FB 时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。调用同一个函数块时使用不同的背景数据块,可以控制不同的设备。

4.函数

函数(Function,FC)是用户编写的子程序,它包含完成特定任务的代码和参数。FC和FB 有与调用它的块共享的输入/输出参数。执行完FC 和FB 后,返回调用它的代码块。

函数是快速执行的代码块,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完成技术功能,例如使用位逻辑运算的控制。可以在程序的不同位置多次调用同一个FC,这可以简化频繁的重复执行的任务的编程。

函数没有固定的存储区,函数执行结束后,其临时变址中的数据就丢失了。可以用全局数据块或M 存储区来存储那些在函数执行结束后需要保存的数据。由于函数没有指定的数据块,不能存储信息,常常用于编制重复发生且复杂的自动化过程。(www.xing528.com)

5.数据块

数据块是用于存放执行代码块时所需的数据区,数据块没有指令。它分为全局数据块和背景数据块两种。

(1)全局数据块:存储供所有的代码块使用的数据,所有的OB、FB 和FC 都可以访问它们。

(2)背景数据块:存储供特定的FB 使用的数据。

关于以上程序块的用法,在后面的文章中会详细介绍。

练习

1.填空题

(1)S7-1200PLC 主要由________、________、________、________和编程软件组成,各种模块安装在标准DIN 导轨上。

(2)CPU 1215C 最多可以扩展________个信号模块、________个通信模块。信号模块安装在CPU 的________边,通信模块安装在CPU 的________边。

(3)CPU 1215C 有集成的________点数字量输入、________点数字量输出、________点模拟量输入、________点模拟量输出。

(4)CPU 1215C AC/DC/RLY 型号的PLC 供电电源一般是AC________V 电源,CPU 1215C DC/DC/DC 型号的PLC 供电电源一般是DC________V 电源。

(5)STEP 7 标准软件包配置了三种基本的编程语言,分别是________、________、________。其中最常用语言的英文简称为________。

(6)S7-1200 CPU 有以下三种工作模式:________、________、________。

(7)当S7-1200 CPU 处于停止模式时,STOP/RUN 灯亮________色;处于运行模式时,STOP/RUN 灯亮________色。

2.简答题

(1)什么是可编程控制器?

(2)PLC 有哪些特点?

(3)西门子公司的1200 系列PLC 有哪些型号?

(4)CPU 模块提供状态指示灯有哪几个? 其中RUN/STOP 指示灯有哪几种显示方式?

(5)PLC 用户程序中的块包括哪些?

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

我要反馈