工业PC/工控机
按行业筛选
请选择行业
----------------------
-全部行业
------------------
-机床与金属加工设备
-刀具/量具/夹具/磨具
-模具设计与制造
-塑料机械/橡胶机械
-通用机械/化工机械
-工程机械/建材机械
-交通运输/海工装备
-农业机械
-食品机械/烟草机械
-包装机械
-印刷机械/广告设备
-纺织机械
-木工/造纸/环保/医疗设备
-物流设备
-智能楼宇/安防设备
-炉窑/热处理设备
-五金工具
------------------
-工业自动化
-佳工激光网
-仪器/仪表/衡器
-电力设备
-电子/通讯/办公文具
-家电/照明/健康设备
------------------
-基础件/通用件
-标准件
-工业原材料
-电子元器件及材料
-包装材料
------------------
-CAD/CAM/PDM/PLM
-ERP/制造业信息化
-管理咨询/认证
-服务/培训/工业设计
按产品筛选
----------------------
-本行业全部文章
--------------------
-变频器
-PLC
-伺服与运动控制
-工业安全产品/工业
-人机界面
-传感器
-机器视觉
-工业PC/工控机
-现场总线/工业以太
-数据采集/无线通讯
-嵌入式系统/自动化
-工业机器人
查看本类全部文章
RSView32在莱城发电厂辅助设备集中控制中的应用
作者:解金旺 徐文尚 徐学强
山东莱城发电厂外围
辅助设备均采用了PLC 控制,但由于子系统较多且控制分散独立、PLC的型号厂家繁多,因此将各子系统进行集中控制成为必然。鉴于子系统中采用罗克韦尔自动化 A-B品牌的PLC较多,设计采用A-B的Control Logix作为网关和RSView32作为统一的组态软件。
如上图所示,莱城发电厂辅助设备包括化水系统(MODICON PLC,组态软件InTouch7.0)、#1、2凝结水系统(A-B PLC-5,组态软件RSView)、#3、4凝结水系统(A-B Control Logix,组态软件RSView)、#1、2汽水取样、加药系统(A-B Control Logix, 组态软件RSView)等,设计中按厂方要求将服务器和交换机放置在化水车间控制室,由于其它各系统距离化水车间较远(大于200米),为保证传输速度及可靠性,故在网关和服务器间加接光纤 ;各系统利用预留接口通过网络(如:DH+、Control Net等)接入网关,它们与RSView的通讯采用原来的通讯协议即可(如 :大部分采用RSLinx OPC Server);在处理MODICON PLC与A-B RSView通讯的问题上,可以有两种方法 :一是安装MB+OPC Server通讯协议,它是罗克韦尔自动化开发的针对MODICON PLC的通讯软件 ;二是在服务器上安装PCI 2000 Applicom驱动卡和其自带的通讯软件,它也是罗克韦尔自动化开发的专门用于A-B 组态软件与其它厂家PLC之间通讯的工具。由于后者适用面较广和价格的考虑,设计采用了后一种方案。网关采用了一个电源 模块、一个CPU模块、一个DH+模块、三个控制网模块和一个以太网模块,网关通过以太网模块接入光纤收发器从而与交换机通讯。交换机采用3COM的24口百兆交换机,服务器采用IBM SERVER。网络安装好后,剩下的工作就是用RSView32将所有的上位机组态画面进行集中,从而实现在一台服务器上对厂内所有子系统的统一控制。
由于子系统较多,设计中采用了32,000点的RSView32。如果子系统上位机组态软件也是RSView,对于Tag只需要用RSView Tool中的Database Import & Export Wizard将子系统工程文件里的Tags导出,再导入我们的工程中;对于Display、Event或Macro需要将其对应工程文件夹Gfx、Eds和 Mro下的文件拷贝到我们的工程文件夹下,再打开工程分别导入。如果组态软件不是RSView,如:InTouch,就只能重建标签库、重做画面,并将画面中所有的指令语句用RSView的指令语句重新编译。下面就设计中遇到的一些问题和解决的方法作一说明:
◆ RSView中条件语句和命令语句的冲突问题:
在软件设计中通过条件语句设计分支是十分有效的,如:希望单击按钮时如果某一反馈量(如:i)大于某值时弹出画面1,否则弹出画面2,在InTouch中按钮的指令如下:
If i > 50 Then Show Picture1
Else Show Picture2
其中If…..Then…..Else就是条件语句,Show Picture1是InTouch的命令语句,但在RSView中这种形式的指令是不允许的,即条件语句中不能出现命令语句。利用RSView提供的Events功能可以处理这种情况:
建立一名为EVE1的事件,设置如上。使用时在相应按钮中需要用事件打开命令:EventOn EVE1,即可相应实现条件分支。注意,打开的事件必须用EventOff EVE1再关掉,否则下次使用时失效。
◆ 画面显示提速:
随着工程中Display的增多及Display中Tags的增多,RSView的运行中画面的切换速度变的缓慢起来。RSView的每一Display的Display Setting中的Properties都有Cache After Display一项,选择“Yes”可以让每一副打开过的Display及其中的Tags常驻内存,这样下次打开时就相当快了,当然前提是计算机的内存足够大。
◆ 历史数据库的建立及报表生成:
厂里需要某些参数(Tags值)在三个月内的历史数据,因此要为这些Tags建立数据库并提供报表生成功能。RSView中的Data Log 功能可以提供某些Tags在特定时间或动作时的值,并能够按三种格式(Narrow Format,Wide Format,ODBC)保存在计算机中。设计中先在工程目录下新建一Access数据表,再在系统控制面板的32位数据源管理器(ODBC)中注册(当然也可以用向导来做),然后在RSView的Data Log Setup中设置保存格式(如:ODBC)、保存时间(如:三个月)、导出频率(如:每一个小时)和选择要保存的Tag。如下图:
样在工程运行时用DataLogOn命令打开它就可以自动保存数据和当时时间。
要生成报表可以有两种方法:一是用VB6.0或VC++等做一可执行程序,在RSView中用AppStart命令激活此程序,再用AppActive命令推至前台执行;二是使用RSView内嵌的VBA来做。VBA的调用方式是子程序,在子程序中显示如下窗体:
数据库访问使用的是DAO对象。首先打开ACCESS数据库并选取符合时间要求的记录集:
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(“D:\xxx.mdb”)
strSQL = SELECT *FROM数据表 WHERE DATE = #2002/10/31#
Set rs = db.OpenRecordset(strSQL)
当然通过对话框上的三个文本框还可以实现动态的SQL查询:
strSQL = “SELECT * FROM 数据表 WHERE DATE = # ” & Text1.text & ”/” &_ Text2.text & ”/” ” & Text3.text & ”#”
然后打开一新Excel表并激活:
Dim xla As New Excel.Application
Dim xlb As New Excel.Workbook
Dim xls As New Excel.Worksheet
Set xlb=xla.Workbooks.Add
Set xls=xlb.Worksheets.Add
xla.Visible=True
xls.Activate
并按要求的格式填写标题和表头等内容;
最后读取记录集中的数据按一定格式填到Excel表中:
xls.Cells(x, y) = rs(“Value”)
报表局部如下图所示。
本文说明的设计实例已在山东莱城发电厂正常投产,运行稳定,完全等同各子系统独立控制的效果,达到了设计要求,实现了辅助设备的集中控制的目的。(end)
文章内容仅供参考
(投稿 )
(如果您是本文作者,请点击此处 )
(11/8/2004)
文章点评
查看全部点评
投稿
进入贴吧
佳工网友
于8/19/2005 9:51:00 AM评论说:
如果要用VBA计算设备的使用率呢,怎么做这样的报表,是否设置一个控件,调用ALMOG的DBF文件,那么怎么调用,请赐教
对 工业PC/工控机 有何见解?请到 工业PC/工控机论坛 畅所欲言吧!