西门子PLC S7-1200 系列是一款可编程逻辑控制器 (PLC, Programmable Logic Controller),可以控制各种自动化应用。 S7-1200 设计紧凑、成本低廉且具有功能强大的指令集,这些特点使它成为控制各种应用的**解决方案。S7-1200 型号和基于 Windows 的编程工具提供了解决自动化问题时需要的灵活性。下面我们看看其程序结构是如何的。
程序结构
1 系统程序OS
OS:为厂家固化在PLC内部用来管理PLC的执行(即系统程序)。这部分对于编程者来说是不能修改的。
2 用户程序结构
1200的用户程序结构是由各种块组成的,这些块使的程序结构可以模块化。可以通过这些块的相互调用来组织程序,便于修改与调试。几种块的简要描述见下表:
在博途软件中添加好S7-1200的CPU模块后,默认会自动添加一个OB1组织块。在项目树中单击“添加新块”,可以添加其他块,如下图所示:
2.1 OB 组织块
它们充当操作系统和用户程序之间的接口。由操作系统调用,用于控制循环扫描和中断程序的执行、PLC的启动和错误处理等。组织块的程序是用户编写的。接下来我们来看看一些常用的组织块介绍。
1)循环组织块OB1
OB1在RUN模式下会循环执行,可以理解为主程序。可以在OB1中编写处理程序,还可以调用函数或功能块来处理。其循环过程如下图所示:
2)初始化组织块OB100
OB100,为初始化组织块,当从STOP转为RUN时,会执行一次。启动组织块执行完毕后才开始执行主“程序循环”OB 。S7-1200 CPU 中支持多个启动 OB ,按照编号顺序(由小到大)依次执行,OB100 是默认设置。其它启动 OB 的编号必须大于、等于123。如下图所示添加了两个初始化组织块OB100和OB123
PLC启动过程和运行过程如下图所示:
3)循环中断OB
通过“循环中断”OB,可以定时的执行其中的代码。在新建时可以设置好,执行的时间间隔,如下图所示:
通过“循环中断”OB,可以定时的执行其中的代码。在新建时可以设置好,执行的时间间隔,如下图所示:
2.2 功能(函数) FC
功能(Function,FC)是用户程序编写的子程序,它包含完成特定任务的代码和参数。当某些代码需要经常重复被执行时,可以将其写入功能中,但需要执行时调用该功能即可,例如某些算术运算。
注:无自己专属的数据块,执行结束后,其临时变量中的数据就丢失了
2.3 功能块 (FB)
FB:功能块 (FB) 是使用背景数据块保存其参数和静态数据的代码块。可以被组织块调用,也可以调用其他功能块和功能。
调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如,可以控制多个相似的设备(如电机),在每次调用时为各设备分配不同的背景数据块。 每个背景 DB 存储单个设备的数据(如速度、加速时间和总运行时间)
注:拥有自己专属的数据块,FB中定义的变量会保持,即执行时FB时变量的值的大小于上一次调用退出时的值相同。
2.4、数据块
数据块(Data block,DB)是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:
1) 全局(Global)数据块:存储供所有的代码块使用的数据,所有的OB、FB和FC都可以访问。例如,可以用全局数据块来存储那些在功能执行结束后需要保持的数据。
2) 背景数据块:存储供特定的FB使用的数据。背景 DB 中数据的结构反映了 FB的参数(Input、Output 和 InOut)和静态数据。
2.5 调用关系
组织块(OB)、功能块(FB)和功能(FC)调用关系如下图所示:
湖南双银科技有限公司专注于西门子总代理等