将“SA-41 S7-300PLC 控制”挂件挂到屏上,并用MPI 通讯电缆线将S7-300PLC 连接到计算机CP5611 专用网卡,并按照下图4-7控制屏接线图连接实验系统。将“LT3下水箱液位”钮子开关拨到“ON”的位置。
接通总电源空气开关和钥匙开关,打开24V 开关电源,给S7-300PLC及压力变送器上电,按下启动按钮,合上单相Ⅰ空气开关,给电动调节阀上电。
打开Step 7 软件,打开“S7-300”程序进行下载,然后将S7-300PLC置于运行状态,然后运行组态软件,打开“S7-300PLC 控制系统”工程,然后激活组态运行环境,进入本控制系统的监控界面。
参照上一实验步骤进行操作。
图4-7 S7-300PLC单容水箱液位控制系统接线图 上位机曲线,如图4-8所示 h
5
t/min
0 1 3 4-8 单容水箱液位测量曲线 PLC程序设计简介 PID功能
在Step 7 中集成了PID 调节功能块FB41 (连续量)、FB42 (开关量) 和脉冲转换功能块FB43, 以便于用户使用其PID 调节功能。因为在本设计方案中要多次用到PID 连续量控制, 故这里有必要对FB41作些简要介绍。Step 7 还提供了标准闭环控制模块FM 355, 可以实现定值控制、串级控制、比例控制和三分量控制等多种功能。由于本控制系统实现的控制功能较简单, 故只用Step 7 内置PID 功能块即可。
FB41 (CONT C) 命名为continuous controller , 在S7-300 PLC 中用于控制输入和输出量为连续信号的控制对象, 可以通过参数设置, 将其设定为P, PI 或PID 控制器, 也可以组成单独的I 控制器和D 控制器。 PID模块输入参数如表4-1所示。
表4-1 输入参数 参数 COM_RST 数据类型 BOOL 数据范围 默认值 FALSE 描述 完全重启,当为真时执行重启程序 手动操作,若为真,控制环中断,操作值手动设定 过程变量直接从外设输入 为真则比例控制起作用 MAN_ON BOOL TRUE PVPER_ON P_SEL BOOL BOOL FALSE TRUE 17
I_SEL D_SEL INT_HOLD I_ITL_ON BOOL BOOL BOOL BOOL TRUE FALSE FALSE FALSE 为真则积分控制起作用 为真则微分控制起作用 为真则积分控制的输出不变 为真,使积分器的输出为I_ITLVAL 采样时间 内部的给定点的输入值 过程变量以浮点形式输入的值 过程变量从外设直接输入的值 通过这个参数设定手动操作的值 比例控制增益 决定积分器的响应时间 微分时间 微分器的延迟时间 操作值的最高限 操作值的最低限 过程变量因子,调整过程变量的范围 过程变量偏置,调整过程变量的范围 操作值因子,调整操作值的范围 操作值偏置,调整操作值的范围 积分器的初始化值 输入的扰动变量 死区宽度 CYCLE SP_INT PV_IN PV_PER MAN GAIN TI TD TM_LAG LMN_HLM LMN_LLM PV_FAC TIME REAL REAL WORD REAL REAL TIME TIME TIME REAL REAL REAL >=1ms -100~100%或者物理量 -100~100%或者物理量 -100~100%或者物理量 >=CYCLE >=CYCLE >=CYCLE/2 T#1s 0.0 0.0 W#16#0000 0.0 2.0 T#20s T#10s T#2s 100.0 0.0 1.0 PV_OFF REAL 0.0 LMN_FAC LMN_OFF I_ITLVAL DISV DEADE_W
REAL REAL REAL REAL REAL -100~100%或者物理量 -100~100%或者物理量 -100~100%或者物理量 18
1.0 0.0 0.0 0.0 0.0
控制程序设计
按照系统总体设计要求和系统实际情况,利用STEP7 编写控制程序。图4-9为系统接线原理图,图4-10为控制程序流程图。
图4-9 系统接线原理图
计算机 液位检测信号 电动调节阀反馈信号 PS CPU DI DO AI/O 电动调节阀控制信号 现场手动控制信号 报警信号
开机 初始化 输入量化 现场 给定数值 PID 输出
图4-10 控制程序流程图 4.3.3 程序总体结构
在Step 7 中集成了PID 调节功能块FB41 (连续量)、FB42 (开关量) 和脉冲转换功能块FB43, 以便于用户使用其PID 调节功能。Step 7 还提供了标准闭环控制模块FM 355, 可以实现定值控制、串级控制、比例控制和三分量控制等多种功能。由于本控制系统实现的控制功能较简单, 故只用Step 7 内置PID 功能块即可。
在S7 系列PLC 的CPU 中, 有两种不同的程序总被执行: 操作系统和用户程序。操作系统
19
用于组织与特定的控制任务无关的CPU 的功能和顺序, 包括处理热启动、刷新输入和输出的过程印表、调用用户程序、检测中断并调用中断、检测并处理错误、管理存储区域、与编程设备和其它通讯伙伴之间的通讯等。系统中提供的OB 块、SFC 块和SFB 块可以让用户设置和访问一些重要的系统功能, 其中OB 块是操作系统和用户程序之间的界面[5]。
用户程序是必须由用户自己生成并下载到CPU 中的程序, 其中包含处理特定的自动化任务所需要的所有功能, 它包括: 指定在CPU 上暖启动和热启动的条件, 处理过程数据, 指定对中断的响应, 处理程序在正常运行中的干扰等[6]。
Step 7 的用户程序允许线性编程和结构化编程。线性化编程是指整个用户程序都写在OBl 中, 此种方法只有在编写简单程序并且仅需较少存储区域时使用。现在普遍使用的是结构化编程, 即将复杂的自动化任务分解为能够反映过程的工艺、功能或可以反复使用的小任务, 并将相应的程序分别编在不同的程序块(OB , FC 或FB) 中。OB 1 通过调用这些块来完成整个自动化任务 。图4 -11即是结构化编程的简单示意图, 图中FB1, FC1 在OBl 中直接调用, FB1 中又调用FC2。程序在PLC 内按箭头所示方向循环执行。在其他OB 块中可有中断组织块。若在用户程序中设置了中断, 在中断到达时PLC 会中断此循环,自动转到相应的中断组织块执行中断程序。
操作系统 OB1 FB1 FC1 SFB FC2 FB1 SFC 其他OB
图4-11 结构化编程
结构化编程可以对单个的程序部分进行标准化, 简化程序组织, 使程序修改更容易, 大规模的程序更易于被理解。由于可以分别测试程序的各个部分, 查错更为简单, 系统的调试也更容易。
Step7编程界面简介
图4-12为PLC编程软件界面
20