组态化工厂车间反应模型文档格式.docx
《组态化工厂车间反应模型文档格式.docx》由会员分享,可在线阅读,更多相关《组态化工厂车间反应模型文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
组态软件也为试验者提供了可视化监控画面,有利于试验者实时现场监控。
而且,它能充分利用Windows的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。
它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。
二、工程浏览
本次化工厂车间反应系统工程浏览窗口:
新建了六个窗口,分别是登录系统画面、工业现场、报警和事件画面、液位历史曲线、液位实时曲线和液位数据报表。
六个工程采用组态连接来反应化工厂车间反应的工作状态和故障状态。
登录系统画面用来让作者或读者进行登录,在这里,可以设置密码进行登录,工业现场用来显示现场实际连接状况,它的连接与实际的连接完全相同,可以根据它来观察系统的实际运行情况,而且,可以在这里进行按钮或开关的状态的切换,在报警和事件画面里可以看到系统报警的时间以及报警事件,有历史报警和实时报警两种状态,历史报警会显示系统运行过程中所有的报警事件,而实时报警则只显示最新的报警状态,以前的报警状态不会被保留。
液位历史曲线显示液位在运行过程中所有的状态的曲线,而液位实时曲线显示当前液位变化的曲线。
这六个窗口之间可以任意切换,来观察系统的运行状态或者是故障状态,从而能预估或检测系统的故障,并进行提前预防来减小系统的故障。
三、系统设计
本系统中需要设计6个界面,为登录界面、工业现场、报警和事件画面、液位历史曲线、液位实时曲线和液位数据报表界面。
下面介绍如何设计各界面。
组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。
外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等;
外部软件程序通常指包括DDE、OPC等服务程序。
按照计算机和外部设备的通讯连接方式,则分为:
串行通信(232/422/485)、以太网、专用通信卡(如CP5611)等。
在计算机和外部设备硬件连接好后,为了实现组态王和外部设备的实时数据通讯,必须在组态王的开发环境中对外部设备和相关变量加以定义。
数据词典中存放的是应用工程中定义的变量以及系统变量。
变量可以分为基本类型和特殊类型两大类,基本类型的变量又分为内存变量和I/O变量两种,其中,“I/O变量”指的是组态王与外部设备或其它应用程序交换的变量。
这种数据交换是双向的、动态的,就是说在组态王系统运行过程中,每当I/O变量的值改变时,该值就会自动写入外部设备或远程应用程序;
每当外部设备或远程应用程序中的值改变时,组态王系统中的变量值也会自动改变。
1.新建工程
组态王工程管理器是用来建立新工程,对添加到工程管理器的工程做统一的管理。
工程管理器的主要功能包括:
新建、删除工程,对工程重命名,搜索组态王工程,修改工程属性,工程备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。
“工程名称”处写上要给工程起的名字。
“工程描述”是对工程进详细说明(注释作用),工程名称是“化工厂车间”,工程描述可以不用写。
保存后,并将新建的工程设为组态王当前工程,组态王的当前工程的意义是指直接进开发或运行所指定的工程。
2.界面设计
(1)登陆界面
登录界面用于用户登录,可以在用户登录时设置密码。
其界面如图1所示。
图1系统登录界面
(2)主界面设计
主界面进行工业现场模拟。
由于泵站的布局、水的流向、各采样点的位置等信息都包含。
用户不去现场可获知泵站的总体情况。
工业现场界面如图2所示。
图2工业现场界面
(3)液位数据报表界面
新建一个报警窗口,名称为“数据报表”如前面工程浏览所示。
选择菜单“报表”,鼠标箭头变为单线“十”字型,在画面上适当位置按下鼠标左键并拖动,绘出一个矩形框,当举行框大小符合报警窗口大小要求时,松开鼠标左键,报警窗口创建成功,液位数据报表界面如图3所示。
图3液位数据报表界面
(4)报警和事件画面
报警是指当系统中某些量的值超过了所规定的界限时,系统自动产生相应警告信息,表明该量的值已经超限,提醒操作人员。
如化工厂的油品储罐,如果往罐中输原料时,如果没有规定液位的上限,系统就产生不了报警,无法有效提醒操作人员,则有可能会造成“冒罐”,形成危险。
有了报警,就可以提示操作人员注意。
报警允许操作人员应答。
事件是指用户对系统的行为、动作。
如修改了某个变量的值,用户的登录、注销,站点的启动、退出等。
事件不需要操作人员应答。
选择菜单“报表”,鼠标箭头变为单线“十”字型,在画面上适当位置按下鼠标左键并拖动,绘出一个矩形框,当举行框大小符合报警窗口大小要求时,松开鼠标左键,报警窗口创建成功,报警和事件画面如图4所示。
图4报警和事件画面
报警窗口创建完成后,要对其进行配置。
双击报警窗口,弹出报警窗口配置属性页,如图5所示。
图5报警和事件属性
(5)液位历史曲线
趋势分析是控制软件必不可少的功能,“组态王”对该功能提供了强有力的支持和简单的控制方法。
趋势曲线有实时趋势曲线和历史趋势曲线两种。
曲线外形类似于坐标纸,X轴代表时间,Y轴代表变量值。
对于实时趋势曲线最多可显示四条曲线;
而历史趋势曲线最多可显示十六条曲线,而一个画面中可定义数量不限的趋势曲线(实时趋势曲线或历史趋势曲线)。
在趋势曲线中工程人员可以规定时间间距,数据的数值范围,网格分辨率,时间坐标数目,数值坐标数目,以及绘制曲线的“笔”的颜色属性。
画面程序运行时,实时趋势曲线可以自动卷动,以快速反应变量随时间的变化;
历史趋势曲线不能自动卷动,它一般与功能按钮一起工作,共同完成历史数据的查看工作。
组态王开发系统中制作画面时,选择菜单“工具\历史趋势曲线”项或单击工具箱中的“画历史趋势曲线”按钮,此时鼠标个带有网格的绘图区域,表示曲线将在这个区域中绘出,液位历史曲线界面如图6所示。
图6液位历史曲线界面
在历史趋势曲线单击右键,选择控件属性,弹出如图7对话框,对历史趋势曲线进行设置。
图7历史趋势曲线属性
(6)液位实时曲线
选择菜单“工具\实时趋势曲线”项或工具箱中的“画实时趋势曲线”,鼠标变为十字形,鼠标画出矩形,实时趋势曲线在矩形中绘出,如图8所示。
图8液位实时曲线界面
在生成实时趋势曲线对象后,双击此对象,弹出“曲线定义”对话框,单击对话框上端两个按钮在“曲线定义”和“标识定义”之间切换,如图9所示。
图9实时趋势曲线属性
3.I/O设备的定义
仿真PLC设备实际上是组态王内嵌的组件驱动程序的逻辑名称,内嵌的组件驱动程序不是一个独立的Windows应用程序,而是以DLL形式供组态王调用,这种内嵌的组件驱动程序对应着实际插入计算机总线扩展槽中的I/O设备,因此,一个仿真PLC设备也就代表了一个实际插入计算机总线扩展槽中的I/O设备组件。
显然,组态王根据工程人员指定的PLC逻辑设备自动调用相应内嵌的组件驱动程序,因此对工程人员来说只需要在逻辑设备中定义PLC逻辑设备,其它的事情就由组态王自动完成。
因为本设计所用为仿真PLC组件,以下是定义仿真PLC设备的过程,当然也是本次毕业设计定义设备的过程。
在工程浏览器的目录显示区,用鼠标左键单击大纲项设备下的成员COM1,则在目录内容显示区出现“新建”图标,如图10所示。
图10设备定义界面
4.数据库的定义
本次课程设计所要求定义的变量数据库如图11所示。
图11数据库定义
在定义变量时,只需双击要建立数据变量的对象即可弹出图12所示的窗口。
图12数据定义窗口
5.编程实现系统仿真
在编程实现仿真时,选择“工程浏览器\命令语言\应用程序命令语言”,会出现命令语言编辑窗口,编写程序完成后,点击“确定”,如图13所示。
图13命令语言窗口
四、心得体会
课程设计是培养学习和综合运用所学知识,发现,提出,分析,和解决实际问题,锻炼实际能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,仿真技术已经成为当今科学与生产领域中空前活跃的一种工具,在生活中可以说是无处不在。
因此作为二十一世纪的大学生来说,掌握一门甚至几门仿真软件技术是十分重要的。
回顾此次自动化软件技术课程实训设计,我感慨良多,的确,从选题直到定稿,从理论到实践,在整整一星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅巩固了以前所学的知识,而且学到了很多书本上所没有的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计中遇到的问题,虽说困难重重,但都通过努力得以解决。
同时在设计过程中发现了自己的不足之处,对以前所学的知识理解的不够深刻,掌握的还不够牢固,通过这次课程设计之后,一定把以前所学的知识重新温故。
这次课程设计终于顺利完成了,在设计过程中遇到的许多问题,在自己的努力和同学的帮助下,最终迎刃而解。
最后对所有帮助过我的同学和老师表示衷心的感谢!
附录
系统的程序如下:
/*液位控制*/
/*一号罐*/
if(\\本站点\一号进料阀门==1&
&
\\本站点\一号出料阀门==0)
{\\本站点\一号原液液位=\\本站点\一号原液液位+10;
}
if(\\本站点\一号进料阀门==0&
\\本站点\一号出料阀门==1)
{\\本站点\一号原液液位=\\本站点\一号原液液位-10;
{\\本站点\一号原液液位=\\本站点\一号原液液位+5;
{\\本站点\一号原液液位=\\本站点\一号原液液位+0;
if(\\本站点\一号原液液位<
=0)
{\\本站点\一号进料阀门=1;
\\本站点\一号出料阀门=0;
if(\\本站点\一号原液液位>
=100)
{\\本站点\一号进料阀门=0;
\\本站点\一号出料阀门=1;
/*二号罐*/
if(\\本站点\二号进料阀门==1&
\\本站点\二号出料阀门==0)
{\\本站点\二号原液液位=\\本站点\二号原液液位+10;
if(\\本站点\二号进料阀门==0&
\\本站点\二号出料阀门==1)
{\\本站点\二号原液液位=\\本站点\二号原液液位-10;
{\\本站点\二号原液液位=\\本站点\二号原液液位+5;
{\\本站点\二号原液液位=\\本站点\二号原液液位+0;
if(\\本站点\二号原液液位<
{\\本站点\二号进料阀门=1;
\\本站点\二号出料阀门=0;
if(\\本站点\二号原液液位>
{\\本站点\二号进料阀门=0;
\\本站点\二号出料阀门=1;
/*三号罐*/
if(\\本站点\三号进料阀门==1&
\\本站点\三号出料阀门==0)
{\\本站点\三号原液液位=\\本站点\三号原液液位+10;
if(\\本站点\三号进料阀门==0&
\\本站点\三号出料阀门==1)
{\\本站点\三号原液液位=\\本站点\三号原液液位-10;
{\\本站点\三号原液液位=\\本站点\三号原液液位+5;
{\\本站点\三号原液液位=\\本站点\三号原液液位+0;
if(\\本站点\三号原液液位<
{\\本站点\三号进料阀门=1;
\\本站点\三号出料阀门=0;
if(\\本站点\三号原液液位>
{\\本站点\三号进料阀门=0;
\\本站点\三号出料阀门=1;
/*混合液位*/
if(\\本站点\一号出料阀门==1&
\\本站点\二号出料阀门==1&
\\本站点\三号出料阀门==1&
\\本站点\泵站开关==0&
\\本站点\泵==0)
{\\本站点\混合液位=\\本站点\混合液位+30;
if(\\本站点\一号出料阀门==0&
\\本站点\二号出料阀门==0&
\\本站点\三号出料阀门==0&
\\本站点\泵站开关==1&
\\本站点\泵==1)
{\\本站点\混合液位=\\本站点\混合液位-30;
{\\本站点\混合液位=\\本站点\混合液位+0;
{\\本站点\混合液位=\\本站点\混合液位-0;
if((\\本站点\一号出料阀门==0&
\\本站点\三号出料阀门==0)||\\本站点\混合液位>
240)
{\\本站点\泵站开关=1;
\\本站点\泵=1;
else
{\\本站点\泵站开关=0;
\\本站点\泵=0;
/*搅拌器控制*/
if(\\本站点\混合液位>
0)
{\\本站点\搅拌电机开关=1;
{\\本站点\搅拌电机开关=0;
if(\\本站点\搅拌电机开关==1)
{\\本站点\叶片旋转状态=\\本站点\叶片旋转状态+1;
if(\\本站点\叶片旋转状态>
2)
{\\本站点\叶片旋转状态=0;
/*流量控制*/
if(\\本站点\一号进料阀门==1)
\\本站点\流量1=10;
\\本站点\流量1=0;
if(\\本站点\一号出料阀门==1)
\\本站点\流量2=10;
\\本站点\流量2=0;
if(\\本站点\二号进料阀门==1)
\\本站点\流量3=10;
\\本站点\流量3=0;
if(\\本站点\二号出料阀门==1)
\\本站点\流量4=10;
\\本站点\流量4=0;
if(\\本站点\三号进料阀门==1)
\\本站点\流量5=10;
\\本站点\流量5=0;
if(\\本站点\三号出料阀门==1)
\\本站点\流量6=10;
\\本站点\流量6=0;
if(\\本站点\泵==1)
\\本站点\流量7=10;
\\本站点\流量7=0;
if(\\本站点\泵站开关==1)
\\本站点\流量8=10;
\\本站点\流量8=0;
/*反应控制*/
{\\本站点\二号出料阀门=1;
{\\本站点\二号出料阀门=0;
{\\本站点\一号出料阀门=1;
{\\本站点\一号出料阀门=0;