您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400PLC功能块与功能的应用举例
来源:艾特贸易2017-10-30
简介下面以发动机控制系统的用户程序为例,介绍生成和调用功能块和功能的方法。 1 .创建项目 生成一个新项目最简单的方法是使用 “NEW PROJECT” 向导,具体方法是在计算机的“桌面”
下面以发动机控制系统的用户程序为例,介绍生成和调用功能块和功能的方法。
1.创建项目
生成一个新项目最简单的方法是使用“NEW PROJECT”向导,具体方法是在计算机的“桌面”上双击“SIMATICManager”图标,在弹出的新项目向导中单击“Next”按钮,依次选择CPU的型号、MPI站地址、需要编程的组织块和使用的编程语言等,最后设置项目的名称为“发动机控制”。
2.生成用户程序结构
图4-7中的组织块OB1是主程序,用一个名为“发动机控制”的功能块FB1来分别控制汽油机和柴油机,控制参数在背景数据块DB1和DB2中。控制汽油机时调用FB1和名为“汽油机数据”的背景数据块DB1,控制柴油机时调用FB1和名为“柴油机数据”的背景数据块DB2。此外控制汽油机和柴油机时还用不同的实参分别调用名为“风扇控制”的功能FC1。
图4-8是程序设计好后SIMATIC管理器中的块。
图4-7程序结构
图4-8 SIMATIC管理器中的块
3.编制符号表与变量声明表
(1)符号表
为了便于理解程序,可以给变量指定符号。表4-5是发动机控制项目的符号表,符号表中定义的变量是全局变量,可供所有的逻辑块使用。
表4-5符号表
(2)变量声明表
表4-6列出了发动机控制程序中FB1的局域变量。表中Bool变量的初值为FALSE,即二进制0。预置转速是固定值,在变量声明表中作为静态参数被存储,称为“静态局域变量”。
表4-6 FB1的变量声明表
如果控制功能不需要保存它自己的数据,也可以用功能FC来编程。与功能块FB相比较,FC不需要配套的背景数据块。
在功能的变量声明表中可以使用的参数类型有IN、OUT、IN_OUT、TEMP和RETURN(返回参数),功能不能使用静态(STAT)局域数据。
表4-7是功能FC1中使用的变量。在变量声明表中不能用汉字作变量的名称。
表4-7 FC1的变量声明表
功能FC1用来控制发动机的风扇,要求在启动发动机的同时启动风扇,发动机停车后,风扇继续运行4s后停转,因此使用了延时断开定时器(S_OFFDT)。图4-9是FC1的梯形图。
梯形图主程序如图4-10所示。
在081中,用CALL指令调用功能块FB1。方框内的“发动机控制”是功能块FB1的符号名,方框上面的“汽油机数据”是对应的背景数据块DB1的符号名。方框内是功能块的形参,方框外是对应的实参。方框的左边是块的输入量,右边是块的输出量。功能块的符号名是在符号表中定义的。
图4-9 FC1的梯形图
图4-10 0B1主程序
两次调用功能块“发动机控制”时,功能块的输入变量和输出变量不同。除此之外,分别使用汽油机的背景数据块“汽油机数据”和柴油机的背景数据块“柴油机数据”,两个背景数据块中的变量相同,区别仅在于变量的实际参数(即实参)不同和静态参数(例如预置转速)的初值不同。背景数据块中的变量与“发动机控制”功能块的变量声明表中的变量相同(不包括临时变量TEMP)。
点击排行
