- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于组态软件的闸群监控系统的开发
摘 要:本文是以拦河水闸群实时监控系统为开发背景,在描述闸群实时监控系统的基本组成、功能及主要特点的基础上,详细介绍了组态王6.51在此监控系统上层组态软件中的应用和具体的编程情况。
关键字:组态王;?闸群;?监控
1.?引言
本系统是F1摩托艇世界锦标赛中国成都站赛道水闸闸群监控系统。这项国际比赛赛道的拦河坝坝轴线长284.774m,其中水闸群段长240.4m,共设水闸17孔,单个闸孔宽和高分别为12m和4.5m。该监控系统是为一项国际赛事服务,要求它有很高的可靠性和稳定性,能够在监控主机屏幕上实时显示闸群信息,如闸门高度、升降状态、故障报警等,使操作人员对其运行状态一目了然,还可以存储、查询、打印历史数据报表和操作记录报表等。并且要求数据处理支持实时计算,能够精确的获取赛道的水位信息,所有闸门都可以准确及时做出升、降、停的反应,从而确保赛道水位在大赛允许的小范围内波动。
2.?监控系统结构
系统的硬件部分主要有PLC、通信模块、UPS、水位计、行程开关、监控主机、显示屏、打印机等组成。组态软件选用组态王6.51进行开发人机对话界面,实现监控功能。本监控系统采用分层式管理,网络结构图如图1:
图1?系统网络结构图
每孔闸门都采用OMRON?PLC?CP1H?作为现场控制单元,17个现场控制单元就构成了现地控制层。现地控制层与主控PLC是通过CompoBus/S高速总线进行通信。主控PLC选用OMRON?PLC?CJ1G,它与监控主机一起就构成了集中控制层,它们之间采用HostLink通信方式。
3.?基于组态王的监控软件开发
用组态王进行开发包括以下步骤:(1)定义变量,将监控主机的I/O变量与设备地址相连。(2)设计监控画面,主要包括操作画面、记录画面、报警画面等。(3)动画连接,建立画面图素和变量的对应关系。(4)构造数据库,数据库是监控系统的核心部分。(5)运行和调试,逐步完善系统使其达到设计要求。
3.1?主控PLC与监控主机的通信
在本监控系统中,主控PLC和监控主机采用RS232通信方式,接口选用COM1,设备地址为0;通信波特率:9600Bit/s;通信数据格式:7个数据位、2个停止位;采用偶效验方式。
3.2监控系统界面及其功能实现
监控系统的界面主要有:监控操作界面、历史数据记录界面、操作记录界面、报警界面和用户界面。监控操作界面是直接面向操作人员,主要起监控和向现地控制层发送操作命令等作用,如图2所示。历史数据记录和操作记录界面,用于存储和查询各项历史记录。报警界面是向操作人员反馈各种设备的运行状况,显示相关故障信息,为操作人员排除故障提供参考。用户界面是为用户交接班时提供“签到”作用。一般工程中,针对每个分散的监控对象都会有一个独立的监控操作界面,那么要设计的画面繁多,工作量大,而且在定义诸多变量时容易混淆出错。在这里,采用了一种对普通变量进行引用的办法,实现只用一个监控操作界面去监控17孔闸门。
图2?监控操作界面
首先建立一组与所有监控操作有关的内存变量,在画面中使用这一组内存变量实现动画连接,再在组态王提供的自定义函数命令语言中,定义一个没有返回值的函数ChangeVariable,最后利用组态王中的VarRefAddress函数实现普通变量间的引用。ChangeVariable?函数定义如下:
Void?ChangeVariable(String?开环和复位指令,String?闸门高度,String?闭环设定值,String?状态故障信息,String?标题)
VarRefAddress(\本站点内存_开环和复位指令,开环和复位指令);
VarRefAddress(\本站点内存_闸门高度,闸门高度);
VarRefAddress(\本站点内存_闭环设定值,闭环设定值);
VarRefAddress(\本站点内存_状态故障信息,状态故障信息);
\本站点内存_标题=标题;
例如,当要监控操作第八孔闸门时(其他孔闸门类似),在监控主界面上点击触发“8号闸门”按钮,该按钮命令语言连接中的ChangeVariable(开环和复位指令_八,闸门高度_八,闭环设定值_八,状态故障信息_八,标题_八)?函数,就会使监控界面中所有内存变量和第八孔闸门实际定义的I/O变量相关联,于是当前的实时监控和操作就是针对第八孔闸门。这种方法实现了监控多个类似对象时保持监控界面不变,而在监控操作时其内部变量的关联发生变化,从而达到监控各个对象的目的。该方法新颖简洁,可靠性高,也在很大程度上减轻了开发人员的工作量。
3.3数据库的设计和报表的实现
数据库是监控系统数据处理中心,也是联系现地控制层和集中控制层的纽带
文档评论(0)