基于PLC-S7300在A3000上实现换热器温度和流量串级控制系统设计
第五章 换热器温度和冷水流量串级控制系统设计
5.1 工艺简介:
由图5-1可知,热水通过换热器中排管的外面,把热量传给排管内通过的冷水。 热水的出口温度可以通过改变支路 2 上的控制阀的开度来实现控制要求[11]。 引起热水出口温度变化的干扰有物料的流量,初温和压力等,其中最主要的干扰是冷水的流量
[12]
。热水从锅炉经泵 1 到换热器,再回到锅炉形成热水循环。冷水从大
水槽经泵 2 到换热器,再回到大水槽形成冷水循环。支路 1 和支路 2 中均有温度和流量变送器,可完成对热水温度和流量的测量变送[13]。
图5-1 换热器温度和流量串级控制
基于PLC-S7300在A3000上实现换热器温度和流量串级控制系统设计
5.2 系统创建工程
创建一个新的工程,在这之前要进行编程前的准备工作,包括通信设置和组态。
5.2.1 新建工程
单击File>New…,新建一个工程项目,命名为wangli,类型默认Project。单击Browse…选择工程保存地址。单击OK,系统创建了一个名为wangli的新工程。
建立S7-300站。右键单击工程名wangli,单击Insert New Object>SIMATIC 300 Station.
5.2.2 设置通信
这里我使用的是S7-300 MPI电缆连接方式,因此选择PC Adapter,install.不需要其他接口。
图5-2 安装PG/PC通信接口窗口
设置或添加PC Adapter(MPI):PROPERTY 按钮Local Connection 属性页COM2,19200,其他参数不需要设置。
5.2.3 硬件组态和下装
打开工程中的Hardwork,从而进入HW CONFIG窗口。在HW CONFIG中插入机架,根据实验所用的设备型号组态硬件。如下表:
基于PLC-S7300在A3000上实现换热器温度和流量串级控制系统设计
表5-1 硬件组态数据
模块 电源 CPU
模拟量输入输出
型号
PS-300>PS 307 2A
CPU-300>CPU313C-2DP>313-6CE01-0AB0 SM334> 334-0CE01-0AA0
SM334的输入输出地址为: AI地址:256-263 AO地址:256-259
5.3 编写程序
5.3.1 复制OB块和已有函数
首先打开libaries中的standard library,选择Orgnization Blocks.把OB1复制粘贴到当前工程中。
表5-2 OB1块的功能
中断类型 主程序扫描
组织块 OB1
默认优先级 1
备注
周期运行:
开始循环监控时间 输出到模块 从模块输入 执行程序
执行挂起的其他任务 回到开始,重新循环监控时间
5.3.2 符号和变量编辑
从资源管理器中选择S7 Program(1)中打开Symbols编辑,编辑全部输入输出相关变量的全局变量,以便使得程序具有很好的可读性。建立所有需要用到的全局变量,如下图:
基于PLC-S7300在A3000上实现换热器温度和流量串级控制系统设计
图5-3 PID全局变量表
其中AI(SM334 模拟量输入),AO(SM334 模拟量输出),变量地址都是PIW,POW,的格式,这表示这些变量使用的是硬件地址,格式是16进制数。PIW表示输入,POW表示输出。
有了变量表,在程序中就可以直接调用全局变量的Symbol,来访问该硬件地址。例如在程序中调用AIO,它会自动指向PIW 256,也就是SM 334模拟量输入通道0的模拟量值。又比如在程序中写入一个1,它会自动指向Q124.0,也就是CPU的DI/DO模块的数字量输出通道0,该通道便会输出开关量1,也就是继电器开关闭合。如果该通道通过继电器切换控制着一个电磁阀,该电磁阀便会启动。
5.3.3 创建PID控制块
单击Blocks,进入里面的组织块OB1,进入编辑环境。要进行PID单回路控制的编程,需要添加PID块,在Libraries>standard library>PID control block>FB41 CONT_C ICONT,将其拖到代码区梯形图上即可添加PID模块。需要创建PID的背景数据块,PID数据所涉及的所有参数都存放在这个背景数据块中,可以通过在组态软件中控制这些参数。
基于PLC-S7300在A3000上实现换热器温度和流量串级控制系统设计
图5-4 模块图
图5-5 PID的背景数据块内容
PLC的输入输出,手自动切换,参数,控制功能都能通过DB1中的数据进行控制。实际工程应用中,还需要增加手动自动切换控制。在手动时,SP跟随MV,MV等于MAN(手操作值),自动时MAN(手操作值)跟随。