您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400PLC功能块与功能的应用举例

来源:艾特贸易2017-10-30

简介下面以发动机控制系统的用户程序为例,介绍生成和调用功能块和功能的方法。 1 .创建项目 生成一个新项目最简单的方法是使用 “NEW PROJECT” 向导,具体方法是在计算机的“桌面”


    下面以发动机控制系统的用户程序为例,介绍生成和调用功能块和功能的方法。

    1.创建项目

    生成一个新项目最简单的方法是使用“NEW PROJECT”向导,具体方法是在计算机的“桌面”上双击“SIMATICManager”图标,在弹出的新项目向导中单击“Next”按钮,依次选择CPU的型号、MPI站地址、需要编程的组织块和使用的编程语言等,最后设置项目的名称为“发动机控制”。

    2.生成用户程序结构

4-7中的组织块OB1是主程序,用一个名为发动机控制的功能块FB1来分别控制汽油机和柴油机,控制参数在背景数据块DB1DB2中。控制汽油机时调用FB1和名为汽油机数据”的背景数据块DB1,控制柴油机时调用FB1和名为柴油机数据的背景数据块DB2。此外控制汽油机和柴油机时还用不同的实参分别调用名为风扇控制的功能FC1

4-8是程序设计好后SIMATIC管理器中的块。

 图4-7程序结构

4-7程序结构

 图4-8 SIMATIC管理器中的块

4-8 SIMATIC管理器中的块

  3.编制符号表与变量声明表

  (1)符号表

  为了便于理解程序,可以给变量指定符号。表4-5是发动机控制项目的符号表,符号表中定义的变量是全局变量,可供所有的逻辑块使用。

4-5符号表

 表4-5符号表

   (2)变量声明表

    4-6列出了发动机控制程序中FB1的局域变量。表中Bool变量的初值为FALSE,即二进制0。预置转速是固定值,在变量声明表中作为静态参数被存储,称为静态局域变量

4-6  FB1的变量声明表

 表4-6 FB1的变量声明表

    如果控制功能不需要保存它自己的数据,也可以用功能FC来编程。与功能块FB相比较,FC不需要配套的背景数据块。

    在功能的变量声明表中可以使用的参数类型有INOUTIN_OUTTEMPRETURN(返回参数),功能不能使用静态(STAT)局域数据。

    4-7是功能FC1中使用的变量。在变量声明表中不能用汉字作变量的名称。

4-7 FC1的变量声明表

 表4-7 FC1的变量声明表

    功能FC1用来控制发动机的风扇,要求在启动发动机的同时启动风扇,发动机停车后,风扇继续运行4s后停转,因此使用了延时断开定时器(S_OFFDT)。图4-9FC1的梯形图。

    梯形图主程序如图4-10所示。

081中,用CALL指令调用功能块FB1。方框内的发动机控制是功能块FB1的符号名,方框上面的“汽油机数据”是对应的背景数据块DB1的符号名。方框内是功能块的形参,方框外是对应的实参。方框的左边是块的输入量,右边是块的输出量。功能块的符号名是在符号表中定义的。

 图4-9 FC1的梯形图

4-9 FC1的梯形图

 

4-10   0B1主程序

    两次调用功能块发动机控制时,功能块的输入变量和输出变量不同。除此之外,分别使用汽油机的背景数据块“汽油机数据”和柴油机的背景数据块“柴油机数据”,两个背景数据块中的变量相同,区别仅在于变量的实际参数(即实参)不同和静态参数(例如预置转速)的初值不同。背景数据块中的变量与“发动机控制”功能块的变量声明表中的变量相同(不包括临时变量TEMP)