组态软件课程设计DCS.docx
《组态软件课程设计DCS.docx》由会员分享,可在线阅读,更多相关《组态软件课程设计DCS.docx(22页珍藏版)》请在冰豆网上搜索。
组态软件课程设计DCS
第1章概述
1.1设计任务和目的
本课程设计要求在修完《监控系统程序设计技术》课程后,运用工业监控系统组态软件(MCGS),结合一个自动控制系统,完成该控制系统的上位机监控系统组态设计。
以便掌握监控软件的设计和编程方法,得到计算机监控系统程序设计与调试,以及编写设计技术文件的初步训练,为从事计算机控制方面的工作打下一定基础。
1.2设计要求
1.基本要求
(1)监控系统总体设计
了解系统设计要求,进行需求分析,确定组态软件输入输出点、内部变量等,构思监控系统的组态框架。
(2)实时数据库组态
根据所确定的输入输出点和内部变量点,建立监控系统实时数据库。
(3)虚拟对象组态设计
采用脚本语言或其他软件工具建立虚拟对象模型,能够仿真实际的物理对象,具有输入输出特性。
(4)窗口界面组态
根据系统需求和实际生产过程中的对象工艺流程,设计监控系统的图形操作界面,并同实时数据库IO点链接。
(5)运行策略组态
采用脚本语言建立监控系统的运行策略,控制所建立的软件系统的运行流程。
(6)控制策略组态设计
选择和设计适当的控制算法并组态,实现对被控系统的控制要求。
(7)历史和趋势记录报表设计
建立历史数据库,实现监控系统的历史数据记录和趋势显示。
(8)实时和历史报警记录报表设计
确定和建立参数的报警限值和报警数据存储特性,实现监控系统的实时报警显示和历史报警数据查询。
(9)主控窗口组态
通过系统菜单能对系统各个功能进行调度管理。
(10)安全策略组态
建立监控系统的安全操作机制,对用户设定不同的操作权限,保证监控系统的安全性。
(11)进行监控系统的调试、运行和改进。
(12)编写课程设计报告。
2.具体要求
(1)数据变量
所选课题系统应具有一定数量的开关量I/O信号(至少6个)和模拟量I/O信号(至少4个)。
(2)监控系统画面
所设计的监控系统画面应包括下列内容,并具有动态显示和操作功能。
①系统封面;
②反映系统工艺的流程画面;
③反映实时数据变化的趋势图画面;
④反映实时数据变化的报表画面;
⑤可查询历史数据的历史数据曲线画面;
⑥可查询历史数据的历史数据报表画面;
⑦反映数据实时报警状态的报警画面(或某画面上的局部画面);
⑧查询数据历史报警状态的报警画面;
⑨能对系统参数进行设置的参数设置画面。
(3)运行控制策略
通过策略脚本编写,能够实现系统的模拟运行。
(4)安全策略
所设计的监控系统应具有登录后方可操作的安全策略功能。
(5)系统菜单
所设计的监控系统应具有系统菜单,以实现对系统各个功能的运行调度。
第2章监控系统分析和总体设计
2.1设计思想
通过对MCGS组态软件的学习和掌握,了解其功能和特点,本设计应用MCGS组态软件设计一个双容水箱液位监控系统,通过对实时画面的监控,来实现预期的控制效果。
本系统采用电动调节阀和调节阀、出水阀(手动阀)同时控制双容水箱液位,并控制水箱2液位维持在设定值,水箱1的量程为100cm,水箱2的量程为50cm,开关控制整个系统的启停。
水箱2液位的设定值可手动修改填入输入框,利用PID控制算法控制电动调节阀的开度,水箱的采样周期和参数P、I、D都可以修改,并根据修改的数据完成PID控制算法,电动调节阀开度为控制算法的结果。
根据水箱2液位的测量值与设定值的比较,可通过电动调节阀自动改变其开度来调整水箱2的液位为设定值,也可通过电动调节阀的自动调节加上手动改变调节阀、出水阀的开度共同控制水箱2的液位。
当水箱1液位高于90cm或低于10cm时,进行安全报警指示,水泵停止抽水;当水箱2液位高于45cm或低于5cm时,进行安全报警指示,电动调节阀自动改变其开度。
2.2设计流程图
采用水泵作为输送源,把水槽中的水抽到水箱1,通过调节阀的作用,可以调节进水量,再通过电动调节阀可以将水从水箱1适当地送入水箱2,水箱2的水通过出水阀适当地流入水槽,使水箱2的液位保持在设定值。
第3章组态设计
3.1实时数据库
3.2用户窗口
3.3主控窗口菜单组态
3.4运行策略
第4章监控界面设计
4.2工艺流程画面
4.3运行时画面
4.4实时曲线
4.5实时数据
4.6历史曲线
4.7历史数据
4.8实时报警画面
4.9报警信息浏览
4.10参数设置画面
第5章运行策略
5.1启动策略
脚本程序:
'进行系统的初始化
进水流量1=0
出水流量1=0
调节阀开度=0
出水阀开度=0
电动调节阀开度=0
开关=0
水泵=0
进水流量2=0
出水流量2=0
采样周期=0.5
比例系数=100
积分时间=25's
微分时间=2's
液位2设定值=25
5.2循环策略
脚本程序:
IF开关=1THEN水泵=1
IF开关=0THEN水泵=0and液位1报警=1and液位2报警=1
IF(液位1<液位1上限)and(液位1>液位1下限)THEN
水泵=水泵
ENDIF
IF液位1>=液位1上限THEN
水泵=0
ENDIF
IF液位1<=液位1下限THEN
水泵=1
ENDIF
IF水泵=1THEN水泵供水量=100
IF水泵=0THEN水泵供水量=0
IF开关=0THEN
水泵供水量=0AND出水阀开度=0AND电动调节阀开度=0AND调节阀开度=0
ENDIF
IF出水阀开度=0THEN出水流量2=0
IF电动调节阀开度=0THEN出水流量1=0
IF调节阀开度=0THEN进水流量1=0
IF液位1<=液位1下限OR液位1>=液位1上限THEN
液位1报警=0
ELSE液位1报警=1
ENDIF
IF液位2<=液位2下限OR液位2>=液位2上限THEN
液位2报警=0
ELSE液位2报警=1
ENDIF
5.3PID控制算法
脚本程序:
e22=e21'上上次偏差
e21=e20'上次偏差
e20=液位2设定值-液位2'本次偏差
比例=比例系数*(e20-e21)'比例作用
if积分时间=0then'如果积分时间=0或偏差太大
积分=0'无积分作用
else
积分=比例系数*采样周期*e20/积分时间'否则计算积分作用
endif
微分=比例系数*微分时间*(e20-2*e21+e22)/采样周期'微分作用
增量=比例+积分+微分'增量输出
电动调节阀开度=电动调节阀前次开度+增量/10'位置输出
if电动调节阀开度>=100then电动调节阀开度=100'超出调节器输出上限,调节器输出=调节器输出上限
if电动调节阀开度<=0then电动调节阀开度=0'超出调节器输出下限,调节器输出=调节器输出下限
电动调节阀前次开度=电动调节阀开度
5.4报警策略
脚本程序:
!
SetAlmValue(液位1,液位1上限,3)
!
SetAlmValue(液位1,液位1下限,2)
!
SetAlmValue(液位2,液位2上限,3)
!
SetAlmValue(液位2,液位2下限,2)
5.5报警数据
5.6历史数据
5.7水箱对象
脚本程序:
进水流量1=水泵供水量*调节阀开度/100
出水流量1=!
sqr(液位1*2*9.8)*电动调节阀开度/100
液位1=液位1+(进水流量1-出水流量1)/100
进水流量2=出水流量1
出水流量2=!
sqr(液位2*2*9.8)*出水阀开度/100
液位2=液位2+(进水流量2-出水流量2)/50
第6章安全策略
6.1本系统安全机制要求:
1.负责人才能进行用户和用户组管理;
2.只有负责人才能进行“打开工程”、“退出系统”的操作;
3.只有负责人才能进行水罐水量的控制;
4.普通操作人员只能进行基本菜单和按钮的操作。
6.2定义用户和用户组:
[1]选择工具菜单中的“用户权限管理”,打开用户管理器。
缺省定义的用户、用户组为:
负责人、管理员组。
[2]点击用户组列表,进入用户组编辑状态。
[3]点击“新增用户组”按钮,弹出用户组属性设置对话框。
进行如下设置:
用户组名称:
操作员组;用户组描述:
成员仅能进行操作
[4]单击“确认”,回到用户管理器窗口。
[5]点击用户列表域,点击“新增用户”按钮,弹出用户属性设置对话框。
参数设置如下:
用户名称:
张工;用户描述:
操作员;用户密码:
123;确认密码:
123;
隶属用户组:
操作员组
[6]单击“确认”,回到用户管理器窗口。
[7]再次进入用户组编辑状态,双击“操作员组”,在用户组成员中选择“张工”。
[8]点击“确认”,再点击“退出”,退出用户管理器。
[9]“负责人”未设密码,设置方法同上。
6.3系统权限管理:
[1]进入主控窗口,选中“主控窗口”图标,点击“系统属性”按钮,进入主控窗口属性设置对话框。
[2]在基本属性页中,点击“权限设置”按钮。
在许可用户组拥有此权限列表中,选择“管理员组”,确认,返回主控窗口属性设置对话框。
[3]在下方的选择框中选择“进入登录,退出不登录”,点击“确认”,系统权限设置完毕。
6.4操作权限管理:
[1]进入水位控制窗口,双击水箱1对应的滑动输入器,进入滑动输入器构件属性设置对话框。
[2]点击下部的“权限”按钮,进入用户权限设置对话框。
[3]选中“管理员组”,确认,退出。
[4]水箱2对应的滑动输入器设置同上。
6.5运行时进行权限管理:
运行时进行权限管理是通过编写脚本程序实现的。
用到的函数包括:
1.登录用户:
!
LogOn()
2.退出登录:
!
LogOff()
3.用户管理:
!
Editusers()
4.修改密码:
!
ChangePassword()
具体步骤:
[1]在主控窗口中的系统管理菜单下,添加4个子菜单:
登录用户、退出登录、用户管理、修改密码。
[2]双击登录用户子菜单,进入菜单属性设置对话框,在脚本程序属性页编辑区域中输入!
LogOn()点击“确认”,退出。
[3]按照上述步骤,在退出登录的菜单脚本程序编辑区中输入!
LogOff(),在进行用户管理的菜单脚本程序中输入!
Editusers(),在修改密码的菜单脚本程序中输入!
ChangePassword(),组态完毕。
6.6保护工程文件:
具体操作步骤:
[1]回到MCGS工作台,选择工具菜单“工程安全管理”中的“工程密码设置”选项,如图:
这时将弹出修改工程密码对话框,如图:
[2]在新密码、确认新密码输入框内输入123。
单击“确认”,工程密码设置完毕。
6.7打开时画面:
6.8登陆时画面:
6.9退出时画面:
6.10用户管理画面:
6.11修改密码画面:
第7章程序调试
7.1程序调试中遇到的问题
如何利用开关控制与水泵连接的流动块的流动?
7.2解决方法和结果
双击此流动块,设置如下图:
关闭开关,水流停止流动;水泵停止工作,水流停止流动。
第8章课程设计总结
经过一学期《监控系统程序设计技术》课程的学习,我对这门课程有了大概的了解,知道了工控组态软件的概念,掌握了MCGS组态软件的功能和特点以及系统构成,但那些只是理论性的知识,很抽象,也不易理解,而经过这次《监控系统程序设计技术的课程设计》,学习用MCGS组态软件解决实际问题,将理论与实际结合起来,使我对这门课程有了更深层次的理解。
此次课程设计,不仅让我进一步了解了MCGS组态软件,而且也学会了如何编写脚本程序以及如何进行程序调试。
通过不断地查阅资料,向老师请教,与同学探讨,获得了很多课外的知识,学会了如何在实际中去设计。
以往其他科目的课程设计,基本上都是通过仿真软件来实现某种效果,并不
能让人真正感觉出那种真实性,而本次课程设计,培养了我独立从事MCGS组态设计的能力,提高了独立研究、独立设计的能力。
通过本次设计,我深入了解了MCGS在工业应用方面的作用,为今后从事这方面的工作打下一个良好的基础
第9章参考资料
[1]曹辉,马栋萍,王暄等主编.组态软件技术及应用.电子工业出版社
[2]龚运新,方立友编著.工业组态软件实用技术.清华大学出版社
[3]MCGS组态软件用户指南.北京昆仑通态自动化软件科技有限公司
[4]MCGS培训教程.北京昆仑通态自动化软件科技有限公司
[5]MCGS高级教程.北京昆仑通态自动化软件科技有限公司