Siemens S7-1200 学习笔记 程序块
自学S7-1200PLC系列
一、S7-1200中的程序块
程序块即一段整体的,独立的,可识别的程序指令,是大型程序指令的一部分。
S7-1200的用户数据结构采用模块化编程结构。采用模块化编程目的是将复杂的自动化任务划分为对应生产过的技术功能较小的子任务,这样一个子任务就对应于一个称之为“块”的子程序。块与块之间可以相互调用来组织程序,这样有利于修改与调试。
二、具体类别
S7-1200中程序块分为组织块(OB),函数块(FB),函数(FC),数据块(DB)。不严谨的说,组织块(OB)可以相当于主程序,函数块(FB)和函数(FC)可以相当于子程序,数据块(DB)可以相当于数据存储区。
1.组织块(OB)
组织块是CPU操作系统与用户程序的接口,决定了用户的程序结构。组织块将自动被操作系统调用。
使用中有中断组织块,启动组织块等。
使用时必须有OB1组织块,操作系统每个扫描周期执行一次OB1。
2.函数块(FB)
函数块是用户编写的包含经常使用的功能的子程序,其含有专用的背景数据块。
由于运行过程中需要调用各种参数,因此产生了背景数据块DB,所以需要用到的数据就存储在了DB中。即使结束调用,数据也不丢失。
3.函数(FC)
函数也是用户编写的包含经常使用的功能的子程序。与FB的区别是,FC无专用的背景数据块。
函数(FC)在运行时产生的临时变量保存在全局数据块DB中,执行结束后,数据将丢失,不具备存储功能。
函数块(FB)和函数(FC)的区别主要是是否含有专用的背景数据块。在实际工程中,使用哪一种主要看是否需要记录参数。
4.数据块(DB)
数据块分为背景数据块和全局数据块两种。
背景数据块是专门用于保存函数块(FB)中的输入变量,输出变量和静态变量的。其中的数据在编译时自动生成。
全局数据块是一片存储用户数据的区域,供所有的代码块访问。全局数据块也被称为共享数据块。
三、执行过程
OB1是用户程序的主程序(MAIN),使用时必须包含OB1。CPU操作系统会在每一个扫描周期,循环扫描执行OB1中的程序,而对于FB或者FC需要在OB1中调用后,才会被PLC扫描执行。[类似于C语言中的函数调用]