基于组态王的液位控制系统设计.docx
《基于组态王的液位控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于组态王的液位控制系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于组态王的液位控制系统设计
1
《控制系统分析与综合》任务书
题目:
液位控制系统设计
一、工程训练任务
本实训综合运用自动化原理、PLC技术以及组态软件等相关课程,通过本实训的锻炼,使学生掌握自动化系统的基础理论、技术与方法,巩固和加深对理论知识的理解。
本课题针对液位控制系统作初步设计和基本研究,该系统能对水箱液位信号进行采集,以PLC为下位机,以工控组态软件组态王设计上位机监控画面,运用PID控制算法对水箱液位进行控制。
二、工程训练目的
通过本次工程训练使学生掌握运用组态王软件及PLC构建工业控制系统的能力,增强学生对PLC控制系统以及组态王软件的应用能力,培养学生解决实际问题的能力,为今后从事工程技术工作、科学研究打下坚实的基础。
三、工程训练内容
1)确定PLC的I/O分配表;
2)根据PID控制算法理论,运用PLC程序实现PID控制算法;
3)编写整个液位控制系统实训项目的PLC控制程序;
4)在组态王中定义输入输出设备;
5)在组态王中定义变量;
6)设计上位机监控画面;
7)进行系统调试。
四、工程训练报告要求
报告中提供如下内容:
1、目录
2、任务书
3、正文
4、收获、体会
5、参考文献
五、工程训练进度安排
周次
工作日
工作内容
第
一
周
1
布置课程设计任务,查找相关资料
完成总体设计方案
2
3
完成PLC程序设计
完成监控画面设计
4
5
第
二
周
1
调试
2
3
准备训练报告
4
完成训练报告并于下午两点之前上交
5
答辩
六、工程训练考核办法
本工程训练满分为100分,从工程训练平时表现、工程训练报告及工程训练答辩三个方面进行评分,其所占比例分别为20%、40%、40%。
2
总体设计方案
2.1关于组态王的概述
组态王软件是一种通用的工业监控软件,它融过程控制设计、现场操作以及工厂资源管
理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管
理。
它基于MicrosoftWindowsXP/NT/2000操作系统,用户可以在企业网络的所有层次的各
个位置上都可以及时获得系统的实时信息。
采用组态王软件开发工业监控工程,可以极大地
增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的
消耗。
它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管
理系统的开发。
组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。
工程管理器:
工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。
工程浏览器:
工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。
运行系统:
工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计
显示动态画面,实现人与控制设备的交互操作。
2.2组态王与I/O设备
组态王软件作为一个开放型的通用工业监控软件,支持与国内外常见的PLC、智能模
块、智能仪表、变频器、数据采集板卡等(如:
西门子PLC、莫迪康PLC、欧姆龙PLC、
三菱PLC、研华模块等等)通过常规通讯接口(如串口方式、USB接口方式、以太网、总
线、GPRS等)进行数据通讯。
组态王软件与IO设备进行通讯一般是通过调用*.dll动态库来实现的,不同的设备、协
议对应不同的动态库。
工程开发人员无须关心复杂的动态库代码及设备通讯协议,只须使用
组态王提供的设备定义向导,即可定义工程中使用的I/O设备,并通过变量的定义实现与I/O
设备的关联,对用户来说既简单又方便。
2.3组态王的开放性
组态王支持通过OPC、DDE等标准传输机制和其他监控软件(如:
Intouch、Ifix、Wincc
等)或其他应用程序(如:
VB、VC等)进行本机或者网络上的数据交互。
2.4A3000现场系统使用说明
2.4.1系统简介
A3000过程控制教学与实验系统包括以下部分:
A3000-CS过程控制系统;A3000-FBS总线型现场系统或A3000-FS常规型现场系统。
系统的消耗指标:
三相四线制电源(380VAC),最大用电6kW;单相电源(220VAC),最大用电1kW;自来水150升,重复使用。
2.4.2现场系统组成
A3000高级过程控制实验系统独创现场系统概念,而不是对象系统。
现场系统包括了实验对象单元、供电系统、传感器、执行器(包括电动调节阀、变频器及移相调压器)、以及半模拟屏,从而组成了一个只需接受外部标准控制信号的完整、独立的现场环境。
它具备如下特点:
现场系统通过一个现场控制箱,集成供电系统、变频器、移相调压器、以及现场继电器,所有驱动电力由现场系统提供。
它仅需通过标准接线端子接收标准控制信号即能完成所有实验功能,从而实现了现场系统与控制系统完全独立的模块化设计。
现场控制箱侧面是工业标准接线端子盒。
这种标准信号接口可以使现场系统与用户自行选定的DCS系统、PLC系统、DDC系统方便连接,甚至用户自己用单片机组成的系统都可以对现场系统进行控制。
现场系统的设计另外的优势是保证动力线与控制线的电磁干扰隔离。
现场系统的设计保证了控制系统只需要直流低压就可以了,使得系统设计更模块化,更安全、具有更大的扩展性。
每个学年实验结束后,放空储水箱的水,清洗各个水箱。
拆下涡轮流量计滤网,进行清洗。
在做变容或非线性容积水箱实验时,由于浮力特别大,需要一个人压着三角柱体,尽量不要尝试使用其他重物压,以避免砸坏。
根据本工程训练任务,在这决定采用A3000过程控制实验系统作为实验平台进行研究。
该系统是一个只需接受外部标准控制信号的完整、独立的现场环境,包括了测试对象单元、供电系统、传感器、执行器(包括变频器及移相调压器)。
A3000测试平台总体物理系统如图1所示。
图1A3000测试平台物理系统
为达到项目要求,设计系统对中水箱右液位信号进行采集,以PLC为下位机,以工控组态软件组态王设计上位机监控画面,运用PID控制算法对水箱液位进行控制。
系统逻辑结构如图2所示。
图2系统逻辑结构
系统工作时,水由泵P102从水箱V104中加压获得压头,经由管路系统进入水箱V102a,通过手阀QV-118、水箱V102b、手阀QV-117、水箱V103、手阀QV-116回流至水箱V104而形成水循环;其中,水箱V102b的液位由LT-104测得,用手阀QV-118调节水箱V102a流入V102b的水量。
图3现场系统示意图
3
PLC的设计
在这使用西门子S7-200PLC进行研究,西门子PLC产品在国内市场推广较早,是国内应用最广泛的PLC产品之一,S7-200PLC是一种小型PLC,其结构紧凑,功能强大,适用于各行各业,各种场合中的检测、监测及控制的自动化。
S7-200系列的强大功能使其无论在独立运行中,或者连成网络皆能实现复杂控制功能。
S7-200PLC控制器硬件系统由四部分组成:
CPU模块、扩展模块及PC/PPI电缆,还有计算机。
系统连接如图4所示
图4系统连接图
PLC模拟量闭环控制系统如图5所示,点划线部分在PLC内。
在模拟量闭环控制系统中,被控量c(t)(液位)是连续变化的模拟量,某些执行机构(变频器)要求PLC输出模拟信号
M(t),而PLC的CPU只能处理数字量。
c(t)首先被测量元件(传感器)和变送器转换为标准量程的直流电流信号或直流电压信号pv(t),PLC的模拟量输入模块用A/D转换器将它们转换为数字量pv(n)。
PLC按照一定的时间间隔采集反馈量,并进行PID控制的计算。
这个时间间隔为采样周期。
图中的sp(n)、pv(n)、e(n)、M(n)均为第n次采样时的数字量,pv(n)、M(t)、c(t)为连续变化的模拟量。
图5PLC模拟量闭环控制系统框图
在中水箱右液位闭环控制系统中,用压力传感器检测水箱液位,液位变送器将传感器输出的微弱的电压信号转换为标准量程的电流或电压,然后送给模拟量输入模块,经A/D转化后得到与液位成比例的数字量,CPU将它与液位设定值比较,并按PID控制算法对误差值进行运算,将运算结果(数字量)送给模拟量输出模块,经D/A转换后变为电流信号或电压信号,用来控制调节阀控制量,通过它控制进水流量,实现对液位的闭环控制。
3.1外部接线
本项目通过控制变频器的控制量,从而使中水箱右液位达到并稳定于设定值。
其中涉及了调节阀的控制以及中水箱右液位,根据A3000过程控制实验系统的使用指南,外部接线如下图。
图6PLC外部接线
3.2程序编写
鉴于上述,采用PLC中的PID回路指令进行程序的编写,该指令利用回路表中的输入信号和组态信息,进行PID运算,使用方法非常方便。
其中使用PID指令的关键有三步:
1.建立PID回路表;
2.对输入采样数据进行归一化处理;
3.对PID输出数据进行工程量转换。
表1PID回路表
变量名
变量
类型
寄存器
数据
类型
读写属性
数据范围
描述
PID0-PV
I/O实数
V300
Float
只读
0~1
测量值
PID0-SP
I/O实数
V417
Float
读写
0~1
设定值
PID0-MV
I/O实数
V308
Float
读写
0~1
输出值
PID0-P
I/O实数
V312
Float
读写
-1000~1000
增益Kp,负数为副作用,正数为正作用
PID0-I
I/O实数
V320
Float
读写
0~10000
积分时间Ti,单位为分钟
PID0-D
I/O实数
V324
Float
读写
0~10000
微分时间Td,单位为分钟
自动手动
I/O实数
M0.1
Bit
读写
0~1
为0时自动,1时手动
首先画出程序流程图:
主程序中断服务子程序
图7程序流程图
由上述流程图编写梯形图,分为三部分:
MAIN(主程序)、SBR_0(PID回路表初始化子程序)、INT_0(中断服务子程序)。
MAIN:
调用初始化子程序
初始化:
建立PID回路表,装入设定值、回路增益、积分时间以及微分时间(地址参照表1进行配置);设置时基0,每200ms产生中断,并连接中断事件。
PID算法:
4
组态王
4.1新建工程
启动“组态王”工程管理器,选择“文件/新建工程”或单击“新建”按钮,弹出欢迎使用向导。
单击“下一步”继续。
弹出“新建工程向导之二——选择工程所在路径”,在工程路径文本框中输入一个有效的工程路径,或单击“浏览…”按钮,在弹出的路径选择对话框中选择一个有效的路径。
单击“下一步”继续。
弹出“新建工程向导之三——工程名称和描述”,在工程名称文本框中输入工程的名称,该工程名称同时将被作为当前工程的名称。
在工程描述文本框中输入对该工程的描述文字。
单击“完成”完成工程的新建。
4.2创建组态画面
进入组态王开发系统后,就可以为每个工程建立数目不限的画面,在每个画面上生成互相关联的静态或动态图形对象。
这些画面都是由“组态王”提供的类型丰富得图形对象组成的。
本项目创建了三个组态画面:
主画面、报警窗口、历史曲线。
各画面如下图所示。
图7主画面
图7报警窗口
图8历史曲线
4.3定义IO设备
定义IO设备包括指定设备驱动,地址,逻辑名等关键参数。
选择工程浏览器左侧大纲项“设备/COM1”,在工程浏览器右侧用鼠标左键双击“新建”图标,运行“设备配置向导”,选择“PLC”的“西门子”“S7-200系列”的“PPI”项。
图9设备配置向导
单击“下一步”,弹出“逻辑名称”窗口,输入名称“sim”。
单击“下一步”,弹出“选择串口号”窗口,选择“COM1”。
单击“下一步”,弹出“设备地址设置指南”,地址“2”。
最后“设备安装向导——信息总结”如下图。
图10设备安装向导
4.4构造数据库
数据库是“组态王”软件的核心部分,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送往生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。
选择工程浏览器左侧大纲项“数据库/数据词典”,在工程浏览器右侧用鼠标左键双击“新建”图标,弹出“变量属性”对话框。
此对话框可以对数据变量完成定义、修改等操作,以及数据库的管理工作。
在“变量名”处输入变量名,如:
调整跨度;在“变量类型”处选择变量类型:
内存实数,单击“确定”即可。
下面定义一个I/O变量。
在“变量名”处输入变量名,如:
P;在“变量类型”处选择变量类型:
I/O实数;在“连接设备”中选择先前定义好的IO设备:
sim;在“寄存器”中定义为:
V112;在“数据类型”中定义为:
float类型。
单击“确定”即可。
图11定义I/O变量
同上述步骤,建立如下数据库:
表2组态王数据库
变量名
变量类型
连接设备
寄存器
报警组
描述
开始停止
I/O离散
s7_200
M0.0
手/自动切换
PID0_P
I/O实数
s7_200
V312
PID调节器比例系数
PID0_I
I/O实数
s7_200
V320
PID调节器积分系数
PID0_D
I/O实数
s7_200
V324
PID调节器微分系数
PID0_SP
I/O实数
s7_200
V417
RootNode
PID调节器液位设定值
PID0_MV
I/O实数
s7_200
V308
RootNode
手动控制量
PID0_PV
I/O实数
s7_200
V300
液位当前值
kuadu
内存实数
用于创建历史曲线
juandong
内存实数
用于创建历史曲线
画面如下:
4.5动画连接
定义动画连接是指在画面的图形对象与数据库的数据变量之间建立一种关系,当变量的值改变时,在画面上以图形对象的动画效果表现出来。
为实现在画面中水箱右侧矩形对象模拟水箱实际液位,可作如下操作。
双击中水箱右侧矩形对象,可弹出“动画连接”对话框,选择“位置与大小变化”中“填充”,可弹出“填充连接”对话框,其中表达式选择“\\本站点\PV”,其它最小填充高度等设置如图15。
图12数据词典
4.5动画连接
定义动画连接是指在画面的图形对象与数据库的数据变量之间建立一种关系,当变量的值改变时,在画面上以图形对象的动画效果表现出来。
为实现在画面中水箱右侧矩形对象模拟水箱实际液位,可作如下操作。
双击中水箱左侧矩形对象,可弹出“动画连接”对话框,选择“模拟值输出”,可弹出“模拟值输出连接”对话框,其中表达式选择“\\本站点\PID0_PV-10”,其设置如图13。
图13模拟值的动画连接
创建模拟量输入可作如下操作:
双击按钮“P设置”,可弹出“动画连接”对话框,选择“模拟量输入”,在弹出“模拟值输入连接”对话框中变量名选择“\\本站点\PID0_P”,其它设置如下图14所示。
图14模拟量输入设置
关于“命令语言”设置如下:
双击按钮对象“开始”,可弹出“动画连接”对话框,选择“命令语言连接”的“弹起时”,在弹出“命令语言”对话框中填入“\\本站点\开始停止=1;”,单击确定。
可实现,按下该按钮时,变量开始停止=1。
图15命令语言的使用
又比如,双击按钮对象“手动”,可弹出“动画连接”对话框,选择“命令语言连接”的“弹起时”,在弹出“命令语言”对话框中填入“\\本站点\自动手动=0;\\本站点\电机正转=1;”,单击确定。
可实现,按下该按钮时,变量自动手动=0,电机正转=1。
图16命令语言的使用
4.6实时趋势曲线
在组态王开发系统中制作画面时,选择“工具/实时趋势曲线”项或单击工具箱中的“画实时趋势曲线”按钮,此时鼠标在画面中变为十字形,在画面中用鼠标画出一个矩形,实时趋势曲线就在这个矩形中绘出。
双击实时趋势曲线对象,对“曲线定义”设置如图17。
图17实时趋势曲线
4.7历史曲线
创建历史趋势曲线可使用历史趋势曲线控件,KVHTrend曲线控件是组态王以ActiveX控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。
该曲线具有以下特点:
1.即可以连接组态王的历史库,也可以通过ODBC数据源连接到其它数据库上,如Access、SQLServer等。
2.连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。
3.完全兼容了组态王原有历史曲线的功能。
最多可同时绘制16条曲线。
4.可以在系统运行时动态增加、删除、隐藏曲线。
还可以修改曲线属性。
5.曲线图表实现无级缩放。
6.可实现某条曲线在某个时间段上的曲线比较。
7.数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。
8.可直接打印图表曲线。
9.可以自由选择曲线列表框中的显示内容。
10.可以选择移动游标时是否显示曲线数值。
11.可以在曲线中显示报警区域的背景色。
图18历史曲线控件
选择菜单“图库/打开图库”项,弹出“图库管理器”中的“历史曲线”,在图库窗口内用鼠标左键双击历史曲线。
从而生成历史趋势曲线对象,在对象上双击鼠标左键,弹出“历史趋势曲线”对话框。
历史曲线向导对话框由三个属性片“曲线定义”、“坐标系”和“操作面板和安全属性”组成。
“曲线定义”设置向导可以设定所有曲线的颜色,对应的变量。
相应设置如图19所示。
图19历史曲线向导之曲线定义
对于要以历史趋势曲线形式显示的变量,都需要对变量做记录。
在组态王工程浏览器中单击“数据库”项,再选择“数据词典”项,选中要作历史记录的变量,双击该变量,则弹出“定义变量”对话框,如图20所示。
图20定义变量之记录和安全区
“操作面板和安全属性”向导:
定义X轴(时间轴)缩放平移的参数,即操作按钮对应的参数。
包括调整跨度和卷动百分比。
如图21所示。
调整跨度:
历史趋势曲线可以向左或向右平移一个时间段,利用该变量来改变平移时间段的大小。
卷动百分比:
历史趋势曲线的时间轴可以左移或右移一个时间百分比,百分比是指移动量与趋势曲线当前时间轴的长度的比值,利用该变量来改变该百分比的值大小。
图21历史曲线向导之操作面板和安全属性
4.8报警窗口
报警是指当系统中某些量的值超过了所规定的界限时,系统自动产生相应警告信息,表明该量的值已经超限,提醒操作人员。
在组态王工程浏览器“数据库/数据词典”中选择一个原有的变量双击它,在弹出的“定义变量”对话框上选择“报警定义”属性页,如图22所示设置报警定义。
图22定义变量之报警定义
新建一个画面,在工具箱中选中“报警窗口”,用鼠标左键在屏幕上拖动,在选定区域内绘制报警窗口。
双击报警窗口输入“双容水箱液位”,选择“实时报警窗”,如图23。
图23报警窗口配置属性页之通用属性
4.9调试运行及其结果
4.9.1调试步骤
1.编写控制器算法程序,下载调试;编写测试组态工程,和控制器联合调试。
2.在现场系统上,打开手阀QV-118、QV-117、QV-116,其余阀门关闭。
3.在控制系统上,将IO面板的中水箱右液位输出连接到AI0,IO面板的电动调节阀控制端连到AO0。
4.打开设备电源。
启动右边水泵P102和调节阀。
5.启动计算机组态软件,进入测试项目界面。
启动调节器,设置各项参数,可将调节器的手动控制切换到自动控制。
6.首先进行纯比例凑试。
置积分时间最大Ti=∞,微分时间为零Td=0。
选择控制器的比例增益Kc的初值。
将控制器投自动,对设定值施加一个偏移,记录响应曲线并观察曲线形状,尽量得到4:
1的衰减响应曲线。
通常,加大增益Kc响应曲线振荡加强,减小Kc响应曲线振荡减弱。
每改变一次Kc都要对设定值施加一个偏移,并记录响应曲线,观察曲线形状,直到满足要求。
7.第二步进行积分作用凑试。
先选择一个初始积分时间值,减小积分时间,积分作用增强;加大积分时间,积分作用减弱。
同比例凑试,每改变一次积分时间,都要施加阶跃干扰,并观察响应曲线。
由于加入积分作用后系统稳定性有所降低,应将比例增益Kc减小10~20%左右,以便补偿加入积分作用后导致的系统稳定性下降。
8.最后加入微分作用。
微分时间越大,微分作用越强。
微分时间Td大约是积分时间Ti的1/3~1/4。
加入微分作用后,可适当加大Kc,减小Ti。
9.选择合适的Kc、Ti和Td,使系统的输出响应为一条较满意的过渡过程曲线。
4.8.2调试结果
经过以上的步骤,下面进行调试。
P、I、D参数分别为08、1555、00,系统相应界面如图24。
图24系统界面1
P、I、D参数分别为30、1555、00,系统相应界面如图25。
图25系统界面2
P、I、D参数分别为70、1555、00,系统相应界面如图26。
图26系统界面3
这里发现曲线显示有问题,只能观察到部分曲线,所以在“实时趋势曲线”对话框中选择“标识定义”,改变对应的数值轴和时间轴对应的数值。
调整后的对应系统界面和各参数数值如下图所示:
图27系统界面4
由此可以得出结论,P、I、D参数分别为70、1555、0时,运行结果最为理想。
与此同时,我们可以得到系统运行到稳定状态时,实时曲线与报警窗口分别如下:
图28实时曲线
图28报警窗口
5
收获体会
每次课程设计,都是对自己的一个考验。
每次课程设计,自己都会有很大的提升。
在为期两周的控制系统分析与综合的课程设计中,我们进一步熟悉了组态王软件的使用,并且用组态王实现了课设要求的控制功能。
我们在书本上学到的知识,在这次课设中得到了系统化、架构化的理解,对于PLC电气控制理论,有了更加深刻的理解。
PLC和组态王在自动化领域发挥着十分重要的作用,作为一个电气学院的学生,我们应该熟练掌握PLC和组态王,具备利用两者实现各种控制功能、控制工程的能力。
这两周的课程设计中,我深刻感受到了组态王设计软件的强大之处,课设后我将更加深入的学习这款软件,学以致用。
同时我们应用PLC软件设计了液位控制系统设计,大家一起讨论程序实现的方法,巩固了PLC编程语言,开发了我们各自的创新思维。
在这次课程设计过程中,通过查阅资料和搜集相关的文献,培养了自学能力和动手能力,并且由原先的被动的接受知识转换为主动地寻求知识,这可以说是学习方法上的很大的突破。
在以往的传统的学习模式下,我可能会记住很多的书本知识,但是通过课设,我学会了如歌将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践结合的问题。
总之,此次过程,我收获了很多。
通过这次课程设计,提高了我的动手能力和动脑能力,更让我体会到了理论与实践相结合的重要性,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在PLC的基本原理以及编程设计思路技巧还有组态王的应用方面都能向前迈了一大步,对我未来从事的工作有很大的帮助。
6