监控系统程序设计.docx
《监控系统程序设计.docx》由会员分享,可在线阅读,更多相关《监控系统程序设计.docx(29页珍藏版)》请在冰豆网上搜索。
监控系统程序设计
监控系统程序设计技术课程设计
报告书
课题:
三层升降机监控系统组态
学院:
信息工程学院
班级:
自动化0802
学号:
2008001090
姓名:
万民光
指导老师:
闫高伟
日期:
2012年1月12日
摘要
组态软件,又称组态监控软件系统软件。
译自英文SCADA,即SupervisoryControlandDataAcquisition(数据采集与监视控制)。
它是指一些数据采集与过程控制的专用软件。
它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。
在电力系统以及电气化铁道上又称远动系统(RTUSystem,RemoteTerminalUnit)。
本次课设设计采用了MCGS组态软件进行组态设计,进行了监控系统总体设计、实时数据库组、虚拟对象组态设计、窗口界面组态、运行策略组态、控制策略组态设计、历史和趋势记录报表设计、实时和历史报警记录报表设计、主控窗口组态、安全策略组态、进行监控系统的调试、运行和改进。
关键字:
MCGS组态软件、监控系统总体设计、运行策略组态、主控窗口组态
第一章设计任务书
1.1课程设计任务和目的
本课程设计要求在修完《监控系统程序设计技术》课程后,运用工业监控系统组态软件(MCGS),结合一个自动控制系统,完成该控制系统的上位机监控系统组态设计。
使学生掌握监控软件的设计和编程方法,得到计算机监控系统程序设计与调试,以及编写设计技术文件的初步训练。
为从事计算机控制方面的工作打下一定基础。
1.2课程设计题目
三层升降机监控系统组态
1.3课程设计要求
1.3.1基本要求
(1)监控系统总体设计
了解系统设计要求,进行需求分析,确定组态软件输入输出点、内部变量等,构思监控系统的组态框架。
(2)实时数据库组态
根据所确定的输入输出点和内部变量点,建立监控系统实时数据库。
(3)虚拟对象组态设计
采用脚本语言或其他软件工具建立虚拟对象模型,能够仿真实际的物理对象,具有输入输出特性。
(4)窗口界面组态
根据系统需求和实际生产过程中的对象工艺流程,设计监控系统的图形操作界面,并同实时数据库IO点链接。
(5)运行策略组态
采用脚本语言建立监控系统的运行策略,控制所建立的软件系统的运行流程。
(6)控制策略组态设计
选择和设计适当的控制算法并组态,实现对被控系统的控制要求。
(7)历史和趋势记录报表设计
建立历史数据库,实现监控系统的历史数据记录和趋势显示。
(8)实时和历史报警记录报表设计
确定和建立参数的报警限值和报警数据存储特性,实现监控系统的实时报警显示和历史报警数据查询。
(9)主控窗口组态
通过系统菜单能对系统各个功能进行调度管理。
(10)安全策略组态
建立监控系统的安全操作机制,对用户设定不同的操作权限,保证监控系统的安全性。
(11)进行监控系统的调试、运行和改进。
(12)编写课程设计报告。
1.3.2具体要求
(1)数据变量
所选课题系统应具有一定数量的开关量I/O信号(至少6个)和模拟量I/O信号(至少4个)。
(2)监控系统画面
所设计的监控系统画面应包括下列内容,并具有动态显示和操作功能。
①系统封面;
②反映系统工艺的流程画面;
③反映实时数据变化的趋势图画面;
④反映实时数据变化的报表画面;
⑤可查询历史数据的历史数据曲线画面;
⑥可查询历史数据的历史数据报表画面;
⑦反映数据实时报警状态的报警画面(或某画面上的局部画面);
⑧查询数据历史报警状态的报警画面;
⑨能对系统参数进行设置的参数设置画面。
(3)运行控制策略
通过策略脚本编写,能够实现系统的模拟运行。
(4)安全策略
所设计的监控系统应具有登录后方可操作的安全策略功能。
(5)系统菜单
所设计的监控系统应具有系统菜单,以实现对系统各个功能的运行调度。
第二章监控系统分析和总体设计说明
2.1监控系统分析
根据课设的题目,分析出此监控系统所实现的功能:
⏹当升降机停于一层或二层时,按三层按钮呼叫,则升降机上升至LS3停止。
⏹当升降机停于三层或二层时,按一层按钮呼叫,则升降机下降至LS1停止。
⏹当升降机停于一层时,按二层按钮呼叫,则升降机上升至LS2停止。
⏹当升降机停于三层时,按二层按钮呼叫,则升降机下降至LS2停止。
⏹当升降机停于一层,而二层、三层按钮均有人呼叫时,升降机上升至LS2时,在LS2暂停10s后,继续上升至LS3停止。
⏹升降机停于三层,而一层,二层按钮均有人呼叫时,升降机下降至LS2时,在LS2暂停10s后,继续下降至LS1停止。
⏹上升或下降途中,任何反方向的按钮呼叫均无效。
⏹当升降机的载重量超过载重量上限时,载重状态灯亮,否则载重状态灯灭。
⏹当升降机的烟雾浓度超过烟雾浓度上限时,烟雾状态灯亮,否则烟雾状态灯灭。
⏹在系统运行时,能对各上限值进行修改。
⏹在运行时,可以通过表格和曲线来监控系统的运行状态,且显示报警数据。
2.1.1系统最终效果图
三层升降机监控系统封面
三层升降机监控系统组态图
三层升降机监控系统数据表格
三层升降机监控系统曲线
三层升降机监控系统历史数据
三层升降机监控系统报警数据
2.1.2工程分析
工程框架:
1.4个用户窗口:
三层升降机监控系统组态、封面、系统数据表格、系统曲线
2.5个主菜单:
系统管理、数据表格、曲线显示、报警数据
3.4个子菜单:
登录用户、退出登录、用户管理、修改密码
4.5个策略:
启动策略、退出策略、循环策略、报警数据、历史数据
数据对象:
系统的IO点表:
个数
开关量
模拟量
1
SB1
电梯
2
SB2
楼层值
3
SB3
烟雾浓度
4
LS1
载重量
5
LS2
烟雾浓度上限
6
LS3
载重量上限
7
HL1
ZHV3
8
HL2
9
HL3
10
M1
11
M2
12
ZHV1
13
ZHV2
14
TWO
15
换气阀
窗口组态:
按系统工程所要实现的功能,选择合适的构件和从元件库里去出所需的元件进行各个窗口。
流程控制:
通过循环策略中的脚本程序策略块实现。
安全机制:
通过用户权限管理、工程安全管理、脚本程序实现。
2.2设计说明
以下说明在设计过程中的各个环节。
2.2.1监控界面设计说明
1、三层升降机监控系统组态窗口的设计,如下图:
⏹指示灯、状态灯、传感器、换气阀:
由对象元件库引入
⏹楼层限位块、升降机、拉杆:
由矩形构件实现
⏹呼叫按钮、指示按钮:
由标准按钮实现
⏹升降机框架:
由直线构件实现
⏹报警实时显示:
由报警显示构件实现
⏹动态修改报警上限:
由输入框构件实现
⏹载重量、浓度控制:
由滑动输入器实现
⏹楼层值、载重量、浓度显示:
由标签构件实现
把元件和构件都添加并合理的摆放好,并用标签标示各个元件和构件。
如上图,然后进行动态连接。
●如一层呼叫指示灯的连接,双击一层呼叫指示灯,进入属性设置窗口,点击动画连接
●进入动画连接,点击第一个三维圆球,出现?
〉,单击>如下图所示进行设置:
点击第二个三维圆球,出现?
〉,单击>如下图所示进行设置:
其他的指示灯和状态灯都按此方法进行设置。
●一层呼叫按钮的设置,双击一层呼叫按钮,在按钮标题中输入一层呼叫,点击操作属性,如下图所示进行设置:
●
其他5个按钮按此方法进行设置。
●吊杆的设置:
双击吊杆,进入其属性设置,进入其大小变化设置,如下图所示进行设置:
●电梯块的设置:
双击电梯,进入其属性设置,进入其垂直移动设置,如下图所示进行设置:
最大移动偏移量为-70。
●浓度上限输入框的设置,此构件可以在系统运行的时候有负责人对日参数进行修改。
如下图所示进行设置:
载重量上限的设置同此方法。
●载重量输入的设置:
进入其属性设置后如下图进行设置。
烟雾浓度的输入如此法。
●报警显示构件的设置:
双击进入属性设置。
如下图:
2、封面窗口的设计,如下图:
⏹文字输出:
由标签构件实现
3、系统数据表格窗口的设计,如下图:
⏹实时数据:
通过自由表格构件实现
⏹历史数据:
通过历史表格构件实现
4、系统曲线窗口的设计,如下图:
⏹实时曲线:
通过实时曲线构件实现
⏹楼层曲线:
通过实时曲线构件实现
⏹历史曲线:
通过历史曲线构件实现
2.2.2运行策略程序及说明
系统所需策略如下:
1、启动策略和退出策略
⏹启动策略和退出策略保持不变。
2、循环策略
⏹把循环时间改为200ms,使系统循环加快
⏹升降机需要一个暂停的时间,故在循环策略组态里增加一个时间定时器,定时时间10S。
⏹为了能实现系统功能,则要在循环策略里增加一个脚本程序,在程序输入窗口中添加能实现系统所要求的功能的程序
3、报警数据策略
⏹添加一个报警信息浏览,能实现对报警信息的浏览
4、历史数据策略
⏹添加一个存盘数据浏览,能实现对历史数据的浏览
2.2.3控制算法实现程序及说明
1、系统的控制流程如下:
⏹当升降机停于一层或二层时,按三层按钮呼叫,则升降机上升至LS3停止。
⏹当升降机停于三层或二层时,按一层按钮呼叫,则升降机下降至LS1停止。
⏹当升降机停于一层时,按二层按钮呼叫,则升降机上升至LS2停止。
⏹当升降机停于三层时,按二层按钮呼叫,则升降机下降至LS2停止。
⏹当升降机停于一层,而二层、三层按钮均有人呼叫时,升降机上升至LS2时,在LS2暂停10s后,继续上升至LS3停止。
⏹升降机停于三层,而一层,二层按钮均有人呼叫时,升降机下降至LS2时,在LS2暂停10s后,继续下降至LS1停止。
⏹上升或下降途中,任何反方向的按钮呼叫均无效。
⏹当升降机的载重量超过载重量上限时,载重状态灯亮,否则载重状态灯灭。
⏹当升降机的烟雾浓度超过烟雾浓度上限时,烟雾状态灯亮,否则烟雾状态灯灭。
2、根据上述控制流程,编出如下控制程序,并把此程序添加到循环策略的的脚本程序里。
IFSB1=1THENHL1=0'当一层呼叫按钮按下时使一层呼叫指示灯亮
IFSB2=1THENHL2=0'当二层呼叫按钮按下时使二层呼叫指示灯亮
IFSB3=1THENHL3=0'当三层呼叫按钮按下时使三层呼叫指示灯亮
'*******
(1)电梯停止于一层或二层,三层呼叫******
IF电梯<=100ANDHL3=0ANDHL2=1ANDHL1=1ANDTWO=0THEN
M1=0'当电梯小于等于100且电梯停止于一层或二层,三层呼叫时,电梯上升
电梯=电梯+1'电梯等电梯加1
IFLS1=1THENLS1=0'让限位灯灭了
IFLS2=1THENLS2=0
IF电梯>=100THEN
电梯=100'如果电梯大于等于100,令其等于100
LS3=1
IFLS3=1THEN
M1=1'如果三层指示灯亮,电梯停止
HL3=1
ENDIF
ENDIF
ENDIF'结束IF语句标志
'*****
(2)电梯停于三层或二层,一层呼叫*****
IF电梯>=0ANDHL1=0ANDHL2=1ANDHL3=1ANDTWO=0THEN
M2=0'如果电梯大于等于0且停于三层或二层,一层呼叫时电梯下降
电梯=电梯-1'电梯等电梯减1
IFLS3=1THENLS3=0'让限位灯3灭
IFLS2=1THENLS2=0
IF电梯<0THEN
电梯=0'如果电梯小于0,令其等于0
LS1=1'令一层限位灯亮
IFLS1=1THEN
M2=1'如果一层限位灯亮电梯不能下降且一层呼叫灯灭
HL1=1
ENDIF
ENDIF
ENDIF
'*****(3)电梯停于一层,二层呼叫********
IF电梯<=50ANDHL2=0ANDHL1=1ANDHL3=1THEN
M1=0'当电梯停于一层,二层呼叫电梯上升
电梯=电梯+1
LS1=0'令一层限位灯灭
IF电梯>=50THEN
电梯=50
LS2=1
IFLS2=1THEN
M1=1
HL2=1
ENDIF
ENDIF
ENDIF
'******(4)电梯停于三层,二层呼叫********
IF电梯>=50ANDHL2=0ANDHL3=1ANDHL1=1THEN
M2=0'当电梯停于三层,二层呼叫时,电梯下降
LS3=0'令三层限位灯灭
电梯=电梯-1
IF电梯<50THEN
电梯=50
LS2=1
IFLS2=1THEN
M2=1
HL2=1
ENDIF
ENDIF
ENDIF
'*****(5)电梯停于一层,二层三层呼叫
IF电梯<=50ANDHL2=0ANDHL3=0ANDHL1=1THEN
M1=0'当电梯停于一层,二层三层呼叫电梯上升
TWO=1'二层三层呼叫都有效
电梯=电梯+1
LS1=0
IF电梯>=50THEN
电梯=50
LS2=1
IFLS2=1THEN
M1=1
HL2=1
ZHV2=1'定时器复位
ENDIF
ENDIF
ENDIF
IFZHV1=1ANDHL3=0ANDM2=1THEN
M1=0'定时器正常,三层呼叫且电梯下降停止时电梯上升
电梯=电梯+1
LS2=0
IF电梯>=100THEN
电梯=100
LS3=1
IFLS3=1THEN
M1=1
HL3=1
ZHV2=0'定时器不复位
TWO=0'两个呼叫都无效
ENDIF
ENDIF
ENDIF
'****(6)电梯停于三层,一、二层呼叫*******
IF电梯>=50ANDHL1=0ANDHL2=0ANDHL3=1ANDM1=1THEN
M2=0'当电梯停于三层,一、二层呼叫时电梯下降
TWO=1'两个呼叫都有效
LS3=0
电梯=电梯-1
IF电梯<50THEN
电梯=50
LS2=1'二层限位灯亮
IFLS2=1THEN'如果二层限位灯亮
M2=1'电梯下降停止
HL2=1'二层呼叫指示灯灭
ZHV2=1'定时器复位
ENDIF
ENDIF
ENDIF
IFZHV1=1ANDHL1=0ANDM1=1THEN
M2=0'定时器复位且一层呼叫,电梯下降
电梯=电梯-1
LS2=0
IF电梯<0THEN
电梯=0
LS1=1
IFLS1=1THEN
M2=1
HL1=1
ZHV2=0'定时器不复位
TWO=0'两个按钮无效
ENDIF
ENDIF
ENDIF
'****(7)运行中,反方向呼叫无效****
IFM1=0AND电梯>0THENHL1=1
IFM1=0AND电梯>50THENHL2=1
IFM2=0AND电梯<100THENHL3=1
IFM2=0AND电梯<50THENHL2=1
IF烟雾浓度>烟雾浓度上限THEN
换气阀=1'当浓度大于其浓度上限打开换气阀进行换气
ELSE
换气阀=0'否则换气阀关闭
ENDIF
IF换气阀=1THEN烟雾浓度=烟雾浓度-5'当阀打开则烟雾浓度减5
!
SetAlmValue(载重量,载重量上限,3)'实时更改载重量上限
!
SetAlmValue(烟雾浓度,烟雾浓度上限,3)'实时更改烟雾浓度上限
IFLS1=1THEN楼层值=1'一层限位灯亮时楼层值等于1
IFLS2=1THEN楼层值=2'二层限位灯亮时楼层值等于2
IFLS3=1THEN楼层值=3'三层限位灯亮时楼层值等于3
2.2.5安全策略设计及说明
1、工程密码的设置
在组态环境下,选择“工具”菜单的“工程安全管理”的“工程密码设置”就会弹出如密码设置窗口,设置密码:
123。
则打开工程时要输入正确的密码才能进入,这样便可以保护系统的安全。
2、工程权限的设置
在组态环境下,选择“工具”菜单的“用户权限管理”,便会弹出用户管理器,在此窗口可以设置用户组合用户,并会用户进行分组也就是权限设置。
如下图所示:
此系统设置了2个用户:
负责人、张工。
此系统设置了2个用户组:
管理员组、操作组,负责人属于管理员组,张工属于操作组。
3、用户登录、密码修改、用户管理的设置
在主控窗口中增加三个菜单,分别命名为用户登录、密码修改、用户管理,在各自属性设置的的脚本程序里分别添入!
LogOn()!
、ChangePassword()、!
Editusers()。
并对其进行权限设置,用户登录、密码修改不变,在用户管理的权限设置为管理员组拥有此权限。
2.2.6虚拟对象程序组态设计及说明
在系统的监控画面里从元件库里添加了两个传感器,一个为重量传感器,另一个为烟雾传感器,为了能让这两个传感器能模拟出升降机在运用中的功能,则必须要让这两个传感器有模拟的输入,且让传感器的输出对升降机的监控产生影响,所以可以通过设备窗口的组态来实现这一功能。
在设备窗口中双击设备窗口,进入设备窗口组态,在组态窗口中添加一个模拟设备,双击模拟设备,进入设备属性设置窗口,在基本属性中设置设备内部属性,通道1最大值为100,最小值为0。
通道2最大值为1100,最小值为0。
在通道连接的通道1的对应数据对象为烟雾浓度,通道1的对应数据对象为载重量。
如下图:
设置完成后,点击设备调试,就可以看到通道1的烟雾浓度值按照正弦曲线从0到100的变化,通道2的载重量也是按照正弦曲线从0到1100的变化。
而对应到监控系统,烟雾传感器的输出也是从0到100变化的,重量传感器的输出也是从0到1100的变化的。
这便是监控系统有了两个虚拟的输入。
2.2.7主控窗口的组态
在主控窗口中,点击系统属于,窗口标题为:
三层升降机监控系统,有封面,封面显示时间为5S,选择进入登录,退出不登录。
运行权限为,管理员组合操作组。
如下图:
双击主控窗口,进入菜单组态,组态如下图:
第三章系统调试中的问题、解决方法和结果
3.1调试中的问题
⏹对电梯块的设置,我把电梯的最大移动偏移量设置为100,结果在运行时,吊杆往上走,而电梯块却往下走了。
如图:
3.2解决方法和结果
⏹把电梯的最大移动偏移量设置为-70,结果电梯块便可顺利的和吊杆一起移动了,如下下图所示:
总结
课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
通过这次组态软件的课程设计,本人在多方面都有所提高。
在设计的过程中综合运用本专业所学课程的理论和生产实际知识进行一次三层升降机监控系统设计工作的实际训练从而培养和提高了我的专业技能,巩固与扩充了组态软件课程所学的内容,掌握了三层升降机监控系统的基本设计方法和步骤,了解了MCGS组态的过程及步骤,提高了用MCGS绘图组态德能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。
在这次设计过程中,体现出自己单独设计三层升降机监控系统的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的闫高伟老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;
参考文献
[1]曹辉,马栋萍,王暄等主编.组态软件技术及应用.电子工业出版社.
[2]龚运新,方立友编著.工业组态软件实用技术.清华大学出版社.
[3]MCGS组态软件用户指南.北京昆仑通态自动化软件科技有限公司.
[4]MCGS培训教程.北京昆仑通态自动化软件科技有限公司.
[5]MCGS高级教程.北京昆仑通态自动化软件科技有限公司.