本文主要阐述iFIX组态软件在浙江某电厂辅控系统的应用,着重介绍iFIX组态软件的OPC网络连接功能和报表功能,并给出具体实施方案。
关键词: iFIX 辅控系统 OPC
The Application of iFIX for Assistant Control System of One Power Plant in Zhejiang
Abstract: This paper mainly expatiate on the application of iFIX for assistant control system of one power plant in Zhejiang. The network connections with OPC and Report function are emphasized, and a detail implementation plan is introduced in the end.
Key words: iFix Assistant Control System OPC
0 引言
随着技术的发展和管理要求的提高,要求电厂提高自动化水平、实现电厂管控一体化,实现全面的电厂数字化管理。为了达到上述要求,首先必须实现电厂辅控系统现场数据采集、过程可视化及过程监控功能,在此基础上再实现辅助系统集中控制联网监控功能,之后实现电厂实时监控信息系统。
iFIX是Intellution自动化软件产品家族中的一个基于Windows的HMI/SCADA组件。基于开放的和组件技术,专为在工厂级系统之间提供易于集成和协同工作设计环境。[1]
1 应用背景
浙江某电厂三期工程(2×300MW机组)的辅助控制系统包括凝结水精处理系统、渣水处理系统、酸碱再生系统、加药控制系统、取样控制系统、工业水泵房控制系统。
所有系统在控制室进行集中监控。控制系统采用以微处理器为基础的PLC可编程控制器进行顺序控制。采用以显示器和键盘为监控中心,对辅控系统进行监视、控制,并能进行报警和制表打印。其中凝结水精处理系统是远程iFIX网络节点,渣水系统采用了组态王软件,本工程需要集成这两个系统到辅控系统。
此主题相关图片如下:
2 控制要求
Ø 显示器画面按照系统图设计,反映整个工艺流程。
Ø 画面颜色清晰逼真,运行时具有动态效果。
Ø 画面设计由粗到细,逐层下拉:工艺主画面、功能系统画面、设备控制画面、属性画面。
Ø 以颜色的变化来反映设备状态的变化,以数值和棒图的变化来反映现场模拟量的变化。
Ø 任何显示器画面均能在2秒(或更短)的时间内完全显示出来,所有显示的数据约每秒更新一次。
Ø 调用任一画面的击键次数不多于3次。
Ø 可存储一个月或更长时间的现场数据,并可以实时趋势图和历史趋势图显示。
Ø 全开放的控制参数设定设计,可方便在线优化工艺过程。
Ø 标准记事本功能。
Ø 对现场设备报警,分级别以醒目方式显示。
Ø 报警信息可长时间储存,以备故障分析和优化工艺。
Ø 具有不可删除的操作记录,自动记录操作过程。
Ø 安全分级,不同操作者设不同操作级别,不同操作者有不同操作密码。
Ø 定时自动按照用户报表模板,生成中文报表。
Ø 报表以EXCEL形式储存,并可保存。
根据上述要求,本项目iFIX组态的画面举例如下
此主题相关图片如下:
3 面临的问题
本辅控系统的监视管理、报警和控制功能很容易在iFIX组态软件中实现,现场实施中遇到比较困难的问题有两个:
1) 访问渣水系统的组态王软件数据库。
渣水系统采用的是组态王软件,不能作为iFIX网络节点提供连接。由此我们想到用自动化领域的通信协议OPC规范来建立连接。通过iFIX 的OPC 客户端访问过程数据,可以克服异构网络结构和网络协议之间的差异。运用OPC技术可以实现全厂综合自动化,实现各种智能仪表、自动控制系统的无障碍连接。
2) iFIX中电厂日报表的生成。
本辅控系统要求每天生成如下格式的日报表,并以EXCEL文件保存:
此主题相关图片如下:
对于此问题,我们采用VBA+ADO+EXCEL的方式通过ADO访问iFIX历史数据源来编写VBA脚本,然后通过运用iFIX的调度器运行基于时间的这段脚本来生成每天的EXCEL格式日报表。
4 解决方案
4.1 集成渣水系统方案[2]
总则:通过访问远程OPC 服务器方式连接渣水系统组态王数据库。渣水系统那边安装组态王的OPC服务器,iFIX作为OPC客户端进行连接。
1) 配置OPC服务器端和客户端的DCOM
Ø 在装有某OPC服务器的机器上。DCOM配置如下
a. 运行服务器上的dcomcnfg程序,进行DCOM配置。
b. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
c. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
d. 在常规页面中,双击应用服务器(此为组态王的OPC),打开应用服务器DCOM属性设置。
e. 将常规页面中的身份验证级别改为“无”。
f. 位置页面中选上“在这台计算机上运行应用程序”。
g. 将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
h. 身份标识页面中,选择“交互式用户”。
注意NT的GUEST用户不能禁用。
Ø 在客户端机器上DCOM配置如下:
a. 运行dcomcnfg程序,启动dcom配 置。
b. 常规页面中,双击应用服务器,打开应用服务器DCOM属性设置。
c. 将常规页面中的身份验证级别改为“无”。
d. 身份标识页面中,选择“交互式用户”。
e. 位置页面中,选择“在这台计算机上运行应用程序”。
f. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
两端配置好后,客户端机器(iFIX)就可以访问远方机器的OPC服务器了。
2) 连接组态王的OPC服务器
启动iFIX 的OPC配置器(OPC PowerTool)
启动配置器后出现如下界面,选择Use Local OPC Client 点击 Connect按钮。
此主题相关图片如下:
第一次配置时左边系统树只有最上层根目录名称,代表OPC Server名称。
点击
按钮增加OPC Server对象。具体配置如下:
Server :OPC服务器名。
Enable:点击启用。
Description:OPC服务器描述。
OPC Server Connection Setup:选择Local表示启用本地OPC服务器,
选择Remote表示连接远程OPC服务器。
此处我们选择Remote,然后在Machine Name中填上组态王OPC服务器的IP地址,其余选项选择系统默认配置,这样就能连接上组态王的OPC服务器:KingView.View.1,进一步通过添加OPC组集合对象和OPC标签对象就读取到组态王的数据库数据。
点击
按钮增加OPC组集合对象。
点击
按钮增加OPC标签对象。
4.2 iFIX中电厂日报表的生成[3]
总则:运用iFIX的调度器运行基于时间的VBA脚本来生成每天的EXCEL格式日报表。
1) iFIX中调度设置
在iFIX中新建时间调度,设置成间隔1小时的调度项,然后点击VB编辑器自定义脚本,如下图:
图 6 iFIX中调度设置界面
2) 初始变量定义
Dim ReportArray As Variant Rem 存放日报中所有要显示的参数的数组
Dim FirstPoint1 As Variant Rem 第一个变量
Dim tempvar As Variant Rem 中间变量
Dim strStartTime, strEndTime Rem 报表查询的时间范围
Dim Interval As Variant Rem 报表查询的间隔时间
Dim OutReportfile As Variant Rem 输出EXCEL表格的文件名
Dim TemplateName As String Rem 这个是日报表模板的文件名
3) 建立对EXCEL的引用,并打开报表的模板文件:
Set msExcel = CreateObject("Excel.Application")
With msExcel
.WindowState = xlMinimized
.Visible = False
.Workbooks.Open ReportTemplateName, , False Rem 打开报表的模板文件
.ActiveWorkbook.ActiveSheet.Select
.DisplayAlerts = False
.DisplayAlerts = False
.Wait (Now() + 0.00002)
End With
4) 创建SQL查询语句:
Dim rsADO As New ADODB.Recordset
Dim cnADO As New ADODB.Connection
Dim SQL0,SQL1 AS String
SQLO = "select FIX.value from FIX where FIX.interval=|" + Interval + "| and FIX.datetime>={ts|" + strStartTime + "|} and FIX.datetime<{ts|" + strEndTime + "|}" Rem FIX为本地节点名
SQL1 = SQLO & " and (FIX.tag=|" & FirstPoint1 & "|"
iTotalCols = 1
For Each tempvar In FirstReportPoints
iTotalCols = iTotalCols + 1
SQL1 = SQL1 & " or FIX.tag=|" & tempvar & "|"
Next tempvar
SQL1 = SQL1 + ")"
5) 执行对数据库的查询:
Set cnADO = New ADODB.Connection
With cnADO
Rem .CursorLocation = adUseClient
.Open "PROVIDER = Microsoft OLE DB Provider for ODBC Drivers;dsn=FIX Dynamics Historical Data;uid=sa;pwd=;"
.Execute (SQL1)
End With
6) 建立查询数据库后的记录集,并把数据写到EXCEL中后另存为EXCEL文件:
Set rsADO = New ADODB.Recordset
rsADO.CursorLocation = adUseClient
rsADO.Open SQL1, cnADO, adOpenForwardOnly, adLockReadOnly
If rsADO.BOF Then
rsADO.Close
cnADO.Close
With msExcel
DoEvents
.ActiveWorkbook.Close
.Quit
End With
Set msExcel = Nothing
Rem MsgBox "第一个表查询条件为空,请检查查询条件"
Exit Sub
Else
c = 1
While rsADO.EOF <> True
With msExcel.Worksheets(1)
For j = 1 To 24
If rsADO(0) <> "" Then
msExcel.Worksheets(1).Cells(j, c).value = rsADO(0)
rsADO.MoveNext
End If
Next j
End With
c = c + 1
Wend
msExcel.ActiveWorkbook.SaveAs "d:\" & OutReportfile & ".xls"
msExcel.Quit
msExcel.DisplayAlerts = True
msExcel.Visible = True
Set msExcel = Nothing
Set cnADO = Nothing
rsADO.Close
5 结论
通过本次电厂辅控系统的应用,充分体现了iFIX的网络连接的便捷。它既可以作为OPC服务器,也可以作为OPC客户端。开发人员可以从任何一个OPC服务器直接获取动态数据, 并集成到Intellution WorkSpace 内。
同时,iFIX的灵活的报表功能也使开发人员得心应手。iCore和即插即解决结构为用户提供多种报表生成方案。例如,可以通过标准的SQL 或ODBC 连接,向关系数据库导出iFIX数据,生成报表。另外,Crystal Report(水晶报表)的运行动态连接库(DLL)已经包含在了iFIX 内。
综上所述,无论是Server和Client功能运行在单一计算机,实现简单的单机人机界面(HMI),还是网络复杂的分布式多Server 和多Client 数据采集和控制系统,iFIX都可以保证优异的性能,采用此软件是辅控系统的最佳选择。
1楼
0
0
回复