1、2) iFIX 中电厂日报表的生成. 本辅控系统要求每天生成如下格式的日报表,并以 EXCEL 文件保存:表格 1 电厂日报表 对于此问题 ,我们采用 VBA+ADO+EXCEL 的方式通过 ADO 访问.&iFIX 组态软件在某电厂辅控系统的应用摘 要: 本文主要阐述 iFIX 组态软件在浙江某电厂辅控系统的应用,着重介绍 iFIX 组态软件的OPC 网络连接功能和报表功能,并给出具体实施方案。关键词: iFIX 辅控系统 OPCThe Application of iFIX for Assistant Control System of One Power Plant in Zhejian
2、gAbstract: 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 OPC0
3、引言随着技术的发展和管理要求的提高,要求电厂提高自动化水平、实现电厂管控一体化,实现全面的电厂数字化管理。为了达到上述要求,首先必须实现电厂辅控系统现场数据采集、过程可视化及过程监控功能,在此基础上再实现辅助系统集中控制联网监控功能,之后实现电厂实时监控信息系统。iFIX 是 Intellution 自动化软件产品家族中的一个基于 Windows 的 HMI/SCADA 组件。基于开放的和组件技术,专为在工厂级系统之间提供易于集成和协同工作设计环境。11 应用背景浙江某电厂三期工程(2300MW 机组)的辅助控制系统包括凝结水精处理系统、渣水处理系统、酸碱再生系统、加药控制系统、取样控制系统、
4、工业水泵房控制系统。所有系统在控制室进行集中监控。控制系统采用以微处理器为基础的 PLC 可编程控制器进行顺序控制。采用以显示器和键盘为监控中心,对辅控系统进行监视、控制,并能进行报警和制表打印。其中凝结水精处理系统是远程 iFIX 网络节点,渣水系统采用了组态王软件,本工程需要集成这两个系统到辅控系统。图 1 辅控系统控制结构图2 控制要求 显示器画面按照系统图设计,反映整个工艺流程。 画面颜色清晰逼真,运行时具有动态效果。 画面设计由粗到细,逐层下拉:工艺主画面、功能系统画面、设备控制画面、属性画面。 以颜色的变化来反映设备状态的变化,以数值和棒图的变化来反映现场模拟量的变化。 任何显示器
5、画面均能在 2 秒(或更短)的时间内完全显示出来,所有显示的数据约每秒更新一次。 调用任一画面的击键次数不多于 3 次。 可存储一个月或更长时间的现场数据,并可以实时趋势图和历史趋势图显示。 全开放的控制参数设定设计,可方便在线优化工艺过程。 标准记事本功能。 对现场设备报警,分级别以醒目方式显示。 报警信息可长时间储存,以备故障分析和优化工艺。 具有不可删除的操作记录,自动记录操作过程。 安全分级,不同操作者设不同操作级别,不同操作者有不同操作密码。 定时自动按照用户报表模板,生成中文报表。 报表以 EXCEL 形式储存,并可保存。根据上述要求,本项目 iFIX 组态的画面举例如下:图 2
6、加药控制系统 iFIX 画面3 面临的问题本辅控系统的监视管理、报警和控制功能很容易在 iFIX 组态软件中实现,现场实施中遇到比较困难的问题有两个:1) 访问渣水系统的组态王软件数据库。渣水系统采用的是组态王软件,不能作为 iFIX 网络节点提供连接。由此我们想到用自动化领域的通信协议 OPC 规范来建立连接。通过 iFIX 的 OPC 客户端访问过程数据,可以克服异构网络结构和网络协议之间的差异。运用 OPC 技术可以实现全厂综合自动化,实现各种智能仪表、自动控制系统的无障碍连接。2) iFIX 中电厂日报表的生成。本辅控系统要求每天生成如下格式的日报表,并以 EXCEL 文件保存:表格
7、1 电厂日报表对于此问题,我们采用 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 的
8、总体默认属性页面,将“在这台计算机上启用分布式 COM”打上勾,将默认身份级别改为“无” 。c. 进入 DCOM 的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无 EveryOne,如果不去掉 EveryOne,应用服务器不能正常启动。d. 在常规页面中,双击应用服务器(此为组态王的 OPC),打开应用服务器 DCOM 属性设置。e. 将常规页面中的身份验证级别改为“无”。f. 位置页面中选上“在这台计算机上运行应用程序”。g. 将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne 加入用户列表中。h. 身份标识页面中,选择“交互式用户”。注意
9、 NT 的 GUEST 用户不能禁用。 在客户端机器上 DCOM 配置如下:a. 运行 dcomcnfg 程序 ,启动 dcom 配 置。b. 常规页面中,双击应用服务器,打开应用服务器 DCOM 属性设置。c. 将常规页面中的身份验证级别改为 “无”。d. 身份标识页面中,选择“交互式用户” 。e. 位置页面中,选择“在这台计算机上运行应用程序”。f. 进入 DCOM 的总体默认属性页面,将“在这台计算机上启用分布式 COM”打上勾,将默认身份级别改为“无” 。两端配置好后,客户端机器(iFIX)就可以访问远方机器的 OPC 服务器了。2) 连接组态王的 OPC 服务器启动 iFIX 的 O
10、PC 配置器(OPC PowerTool)启动配置器后出现如下界面,选择 Use Local OPC Client 点击 Connect 按钮。图 3 OPC 连接界面一出现如下连接界面:图 4 OPC 连接界面二连接结束后出现如下界面:图 5 OPC 连接界面三第一次配置时左边系统树只有最上层根目录名称,代表 OPC Server 名称。点击 按钮增加 OPC Server 对象。具体配置如下:Server :OPC 服务器名。Enable:点击启用。Description:OPC 服务器描述。OPC Server Connection Setup:选择 Local 表示启用本地 OPC 服
11、务器,选择 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 中新建时间调度
12、,设置成间隔 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 表格的
13、文件名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.DisplayAle
14、rts = False.Wait (Now() + 0.00002)End With4) 创建 SQL 查询语句:Dim rsADO As New ADODB.RecordsetDim cnADO As New ADODB.ConnectionDim SQL0,SQL1 AS StringSQLO = “select FIX.value from FIX where FIX.interval=|“ + Interval + “| and FIX.datetime=ts|“ + strStartTime + “| and FIX.datetime TrueWith msExcel.Workshe
15、ets(1)For j = 1 To 24If rsADO(0) “ ThenmsExcel.Worksheets(1).Cells(j, c).Value = rsADO(0)rsADO.MoveNextEnd IfNext jEnd Withc = c + 1WendmsExcel.ActiveWorkbook.SaveAs “d:“ & OutReportfile & “.xls“msExcel.QuitmsExcel.DisplayAlerts = TruemsExcel.Visible = TrueSet msExcel = NothingSet cnADO = NothingrsA
16、DO.Close5 结论通过本次电厂辅控系统的应用,充分体现了 iFIX 的网络连接的便捷。它既可以作为 OPC 服务器,也可以作为 OPC 客户端。开发人员可以从任何一个 OPC 服务器直接获取动态数据, 并集成到 Intellution WorkSpace 内。同时,iFIX 的灵活的报表功能也使开发人员得心应手。iCore 和即插即解决结构为用户提供多种报表生成方案。例如,可以通过标准的 SQL 或 ODBC 连接,向关系数据库导出 iFIX 数据,生成报表。另外,Crystal Report(水晶报表)的运行动态连接库(DLL )已经包含在了iFIX 内。综上所述,无论是 Server 和 Client 功能运行在单一计算机,实现简单的单机人机界面(HMI),还是网络复杂的分布式多 Server 和多 Client 数据采集和控制系统,iFIX 都可以保证优异的性能,采用此软件是辅控系统的最佳选择。参考资料:1 GE Fanuc International,电子书:iFIX Version 3.5C - 12.03,20032 OPC 基金会,Data Access Automation Interface Standard Version 2.01 January 6, 1999 3 iFix 中采用 ODBC 制作报表,2001.6