iFIX工程组态环境下PDA数据管理系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
iFIX工程组态环境下PDA数据管理系统的设计
陈甫前;李明河;王健
【摘要】针对港务原料总厂的在线运行基础记录的真实性、实时性和共享性得不到保证这一问题,基于iFIX组态软件设计了PDA数据管理系统.该数据管理系统不仅可以查询设备的历史数据和历史趋势,而且可以将实时数据录入系统,从而生成当天的生产报表.数据库上线运行后,不仅很好地解决了在线运行基础记录真实性、实时性和共享性差的问题,而且在现场出现故障的时候,通过该系统可以很快地查询到出现故障的具体设备,节省了大量的时间,具有一定的实用价值.
【期刊名称】《宜宾学院学报》
【年(卷),期】2018(018)006
【总页数】6页(P18-23)
【关键词】iFIX;真实性;实时性;共享性;PDA数据管理系统
【作者】陈甫前;李明河;王健
【作者单位】安徽工业大学电气信息学院,安徽马鞍山243002;安徽工业大学电气信息学院,安徽马鞍山243002;安徽华骐环保科技,安徽马鞍山243000
【正文语种】中文
【中图分类】TP27
数据库是按照数据结构来组织、存储和管理数据而建立在计算机存储设备上的仓库.简单来说,就是本身可视为电子化的文件柜或者是存储电子文件的处所,用户能够
对数据库中的数据进行添加、删减、修改和截取等操作,其结构可根据观察数据的角度分为物理数据层、概念数据层和用户数据层三个层次.随着计算机对数据处理
量的要求不断增加,对数据管理技术的要求也越来越高,数据库管理技术在几代人的努力下经历了从人工管理阶段到文件系统阶段,再到数据库阶段,直至如今的高级数据库技术阶段,数据库技术在未来将更加完善,应用也会越来越广.
港务原料总厂的在线运行基础记录完全通过中控人员手工记录,记录的真实性、及时性和共享性必须得到保证,因为数据录入的准确性直接影响到后期的数据分析,会造成很多经济技术指标的缺失,这些不足将会给公司铁前保供以及原料流板块的生产和相关专业的管理提升带来很大的限制.为了改进这些不足,本文结合IGS (Industrial Gateway OPC Server)和iFIX组态软件设计了PDA数据管理系统,该系统不仅可以查询设备的历史数据和历史趋势,现场出现故障时,可以快速地查询出具体的故障设备,便于及时解决故障;而且可以录入实时数据,生成当天的生产报表,技术人员可以及时地了解当天的生产情况,以便于生产线的优化和改进.
1 iFIX简介
iFIX工程组态软件是由美国Intellution公司开发的基于Windows平台的大型应
用软件,它集控制技术、图形技术、人机界面技术、网络技术、数据库技术于一身.它采用了开放式的结构,并运用了微软的一系列工业标准技术,比如
COM/DCOM、VBA、Ac⁃tiveX、OPC控件等,让所有的应用组件都可以无缝集
成到一个系统中,而且通过ODBC编程可以简单地把数据存储到关系数据库.
iFIX软件集中了大批强大的图形化工具,用户能快速直观地建立面向过程的实时窗口.iFIX不仅包含图形工具,让用户快速简单地开启系统,而且还提供了强大的功能,包括报警和报警管理,监督控制和实时过程的监视,统计过程控制,基于用户的安全系统,历史趋势,方便的系统扩展等.Intellution WorkSpace包括两个全
集成的环境:运行环境和组态环境,它提供了调度报表和VBA语言程序,开发和
显示的画面,并与实时数据交互工作,组态不仅提供了所有图形,还提供了数据、文本、动态和趋势图形工具.通过这些工具可以生成容易操作和理解的画面,在运行和组态环境之间可快速地完成测试和对画面的修改,同时保持实时报警和数据采集.
2 系统组成及原理
系统由PAC控制站、局域网、数据库服务器和PDA客户端组成.数据库服务器和PDA客户端安装在控制室,用以接收生产线现场的信息和控制现场的运行状态,PAC控制站安装在生产线现场,控制现场设备的运行.系统框图如图1所示.
图1 PDA数据管理系统框图
系统的工作原理如图2所示,PAC控制站不断地从现场采集数据,数据经CPU模块处理之后,iF⁃IX通过IGS驱动器读取数据,并将数据存入关系数据库SQL Server和历史数据库(Proficy Historian,)中,在需要的时候,iFIX同时调用关系数据库SQL Server和历史数据库中的数据,在PDA数据管理系统中显示或者导出到Excel表格中生成生产报表[1-2].
图2 PDA数据管理系统工作原理
3 系统的硬件配置
iFIX的实时数据库和历史数据库是基于Access技术的数据库,通过大量试验和多次测试表明,iFIX的数据库不支持大量用户的同时访问,而且也不能通过索引查询数据,每次查询都必须从数据库的第一个数据开始依次查询,所以查询速度缓慢.因此可以使用一些技术上已经比较成熟的数据库产品,鉴于SQL Server与iFIX的结合性较好,所以可将生产过程中的数据采集到SQL Server中.
iFIX组态软件提供了ODBC接口,使iFIX数据库与关系数据库之间能够互相交换数据.在iFIX过程数据库(Process Database)中建立一个触发器,当现场数据发生变化时,过程数据库就自动在关系数据库的表中写入数据,通过访问关系数据库
就能够直接查询到生产过程中的历史数据和实时数据.
iFIX ODBC允许关系数据库与iFIX数据库之间建立通信,iFIX数据库可以以时间、事件或者两者结合的通信方式来进行配置.iFIX ODBC由SQL任务、SQT(SQL触发)数据库块、SQD(SQL数据)数据库块三部分组成,其中SQL任务功能如下:执行SQT块触发;从SQD块获取过程数据并将数据存储到关系数据库中;从关
系数据库中选择数据并写回到iFIX数据库中.
系统硬件的具体配置步骤如下:
1)配置数据服务器:(ⅰ)在数据库中创建数据表,定义需要执行的SQL命令,在SQL Server中建立SQLLIB表,SQLLIB表中保存需要执行的SQL命令,SQLLIB表由sqlname和sqlcmd两列组成,分别用来保存SQL命令名和SQL命令内容.(ⅱ)创建错误记录表,在SQL Server数据库中建立SQL ERR表用于保
存运行SQL命令时产生的错误信息.
2)配置SCADA数据节点:(ⅰ)创建ODBC数据源,ODBC数据源在Win NT 控制面板中的ODBC管理器中进行设置,将SQL Server设置为系统数据源.(ⅱ)添加SQL账户,在创建完系统数据源后,在iFIX的系统配置(SCU)中配置SQL 账户,将建立好的SQL数据源添加进来,并且数据库类型选为SQL Server,如图3所示.(ⅲ)配置SQL任务,启用SQL支持,并且填入数据源名、SQL命令名
以及错误记录名,如图4所示.(ⅳ)定义SQT和SQD数据块.
图3 配置iFIX SQL账户
图4 配置iFIX SQL任务
iFIX数据库通过配置SQT和SQD数据块来实现与关系数据库SQL Server的通信和传输内容.在SQT数据库块中定义需要执行的SQL命令(需与SQL命令表中名
称保持一致),SQT可以通过时间出发或者通过特定的事件出发,比如值变化事件,在过程数据库中添加两个该数据块并完成配置即可.
完成以上步骤后iFIX过程数据库就地与关系数据库建立了通信关系,可将生产数据保存到SQL Server中,同时也将部分数据存储到历史数据库中,在需要时可同时从这两个数据库中调取数据[3].
4 PDA数据管理系统设计
本PDA数据管理系统结合IGS与iFIX 5.5工控组态软件进行设计开发,可以实现PLC状态、设备状态、GDS指令、历史趋势等的显示,其设计包括历史信息查询设计、历史趋势查询设计、监控画面设计及生产报表设计等方面内容.
4.1 历史信息查询设计[4-8]
历史信息查询包括PLC设备状态查询、设备运行状态查询、GDS操作指令查询、库存管理、仓位及翻板极限和计量表等信息查询.以设备运行状态查询为例具体说明历史信息查询设计过程.
在设备运行状态查询界面中,创建添加“所有设备”“正反向设备”“故障设备”“选定设备”和“流程相关设备”按钮;然后插入下拉菜单控件、日期选择控件显示选择查询时间段,并修改相关属性,再插入web浏览器Microsoft web Browser显示历史数据的查询结果.设备运行状态查询的要求是用户任意更改两个时刻的日期时间,根据需要点击所有设备、正反向设备、故障设备、选定设备和流程相关设备按钮中的任意一个,web浏览器能显示出两个时刻段的历史数据,界面中查询的VBA脚本如下:
Private Sub bmpOneDevInfoQuery_Click()
vxData1.DBDisconnect
Dim strEndDate As String,strStartDate As String
Dim strDevCode As String
strStartDate = VBA.FormatDateTime(DTPicker-
StartDate.Value,vbShortDate)&""&VBA.FormatDateTime(DTPickerStartTim
e.Value,vbLongTime) 'for some reason need the date portion for DST purposes?
strEndDate=VBA.FormatDateTime(DTPickerEnd-
Date.Value,vbShortDate)&""&VBA.FormatDateTime(DTPickerEndTime.Valu e,vbLongTime) 'for some reason need the date portion for DST purposes? strDevCode=cmbDevCode.Text
vxData1.QP1=strStartDate
vxData1.QP2=strEndDate
If Len(strDevCode)<= 4 Then 'Right(strDev-Code,1)<>"R"
vxData1.QP3=strDevCode
Else
vxData1.QP3=Left(strDevCode,4)
End If
vxData1.SQLCommand="SELECT dt,ca,流程号,设备编号,标签名,消息状态FROM Table_DevStatus WHERE(Table_DevStatus.dt
BETWEEN{ts'QP1'}AND{ts'QP2'})AND"_&"(Table_DevStatus.设备编号
like'%QP3%')ORDER BY Table_DevStatus.dt ASC"
vxData1.DBConnect
End Sub
4.2 历史趋势查询设计[9-12]
历史趋势查询设计是对历史数据的变化趋势进行记录保存,当现场出现问题时,管理员可以根据出现问题的这段时间内的历史趋势变化排查出现的一些问题,同时及时地解决问题.本历史趋势查询界面包括通信状态点、流程操作点、设备状态点、排料点、故障点、非矩阵故障点、皮带秤、料位信号、仓位信号、翻板限位信号、
正反转胶带信号等信号的历史趋势查询,以设备状态点为例具体说明历史趋势查询的设计过程.
在历史趋势查询界面中,创建添加“历史数据”“历史数据标签”下拉菜单栏,然后添加“添加笔”“删除笔”“更改颜色”“起始日期/时间”“多数据值坐标”“多时间坐标”“从左到右显示数据”按钮,再添加Line Multiline Chart历史趋势表格、一个时间范围组合框(包括“5分钟”“15分钟”“30分钟”“1小时”“6小时”“12小时”六个按钮)和放大曲线线方向组合框,界面中历史趋势查询的VBA脚本如下:
Private Sub cmbTagGroup_AddItem()
Dim fCon As ADODB.Connection
Dim fRs As ADODB.Recordset'表中一条记录,流程记录
Dim fCnnStr As String '连接字符串
Dim fTableName As String '数据库名
Dim i As Integer
Dim MySQL As String
cmbTagGroup.Clear
On Error GoTo Err1
fTableName="Table_SignalType"
fCnnStr="Provider=SQLOLEDB.1;Integrated Security= SSPI;Persist Security Info=False;User ID= PDAUser;Password= 123456;Initial
Catalog=DlSQLAlarms;Data Source=(local)\SQLEXPRESS"
Set fCon=New ADODB.Connection
fCon.CursorLocation=adUseClient
fCon.ConnectionString=fCnnStr
If fCon.State<>adStateOpen Then fCon.Open
Set fRs=New ADODB.Recordset
MySQL="select COLUMN_NAME FROM
RMATION_SCHEMA.COLUMNS Where
TABLE_NAME='"&fTableName&"'"
fRs.Open MySQL,fCon,adOpenStatic,adLockOptimistic 'adOpenKeyset If fRs.EOF Then GoTo lpp2
fRs.MoveNext '过滤掉"序号"字段
Do While Not fRs.EOF
cmbTagGroup.AddItem fRs.Fields(0)
fRs.MoveNext
fRs.MoveNext '过滤掉"描述"字段
Loop
cmbTagGroup.ListIndex=0
lpp2:
fRs.Close
Set fRs=Nothing
If fCon.State=adStateOpen Then fCon.Close
Set fCon=Nothing
ExitSub:
Exit Sub
Err1:
Err.Clear
Resume ExitSub
End Sub
4.3 生产报表设计[1,4,7]
生产报表设计是该PDA数据管理系统的一项重要功能,其包括单个项目报表设计和总报表设计,通过该功能可以将当日的生产信息导入到Excel表格当中,打印出来便可得到当日的单个生产报表和总生产报表,通过对日生产报表的数据进行分析,可以发现问题以及不足之处,以便对生产工艺进行改进和完善.生产报表具体设计
步骤如下:
(1)首先建立生产报表的Excel模板;
(2)其次定义对象变量,VBA脚本如下:
Dim Excelapp As Excel.Application
Set Excelapp=Creat Object(“Excel.Application”);
(3)将数据写入Excel表格当中,其中数据包括需要人工输入和直接导入的数据,VBA脚本如下:
Excelapp.Workbooks.Open(Excel File Name)
With Excelapp
.Worksheets(1).Cell(8,4).Value=1LVL.F_CV
.Worksheets(1).Cell(10,4).Value=Fix32.thisnode.RCLLVL.F_CV
.Worksheets(1).Cell(12,4).Value=Fix32.thisnode.BLKLVL.F_CV
.Worksheets(1).Cell(14,4).Value=Fix32.thisnode.MIXLVL.F_CV
.Worksheets(1).Cell(14,4).Value=Now
.Worksh eets(1).Cell(14,4).Value=“m/d/y h:mm”
End With
(4)根据需要存储并打印报表.
5 系统在线测试[13-15]
系统设计好后进行线上测试,测试内容主要包括历史信息查询、历史趋势查询和生产报表生成.
(1)历史信息查询包括PLC设备状态查询、设备运行状态查询、GDS操作指令
查询、库存管理、仓位及翻板极限和计量表等信息查询.以设备运行状态查询为例,查询结果如图5所示.
(2)历史趋势查询包括通信状态点、流程操作点、设备状态点、排料点、故障点、非矩阵故障点、皮带秤、料位信号、仓位信号、翻板限位信号、正反转胶带信号等信号的历史趋势查询.以设备状态点为例,皮带秤查询结果如图6所示.
图5 设备运行状态历史信息查询结果
图6 皮带秤历史趋势查询结果
(3)生产报表生成包括单个项目报表生成和总报表生成,将当天的生产情况导入设计好的Excel模板中,根据需要选择保存到客户端,便于日后对生产报表的数据进行分析,从而发现问题和不足之处,及时地对生产工艺进行改进和完善.以单个
项目生产报表生成为例,生产报表生成结果如图7所示.
图7 单个项目报表生成结果
6 结语
本文结合IGS和iFIX组态软件进行设计的PDA数据管理系统,结构简单、实时性好、颇具灵活性;系统界面友好,不仅可以查询历史信息,而且可以录入实时数据,生成当天的生产报表,技术人员可以及时地了解当天的生产情况,以便于生产线的优化和改进;数据库上线运行后,不但很好地解决了港务原料总厂生产数据实时性、真实性和共享性差的问题,而且现场出现故障时,通过该系统可以很快地查询出故障的设备并及时处理,在节省了大量时间的同时又减少了不必要的损失,具有一定的实用价值.
参考文献:
【相关文献】
[1] 吴会敏,黄宗建.基于iFIX的多种液体混合自动监控系统研究[J].化工自动化及仪
表,2014,7(41):806-809.
[2] 何用辉.基于iFIX的立体仓库监控系统设计与实现[J].计算机测量与控制,2012,20(5):1225-1228.
[3] 王磊,詹惠琴.iFIX组态软件在污水处理控制系统中的应用[J].自动化应用,2011(8):6-8.
[4] 刘志妩,张焕君,马秀丽.基于VB和SQL的数据库编程技术[M].北京:清华大学出版社,2008.
[5] 杨永刚,邢建春,王嵩.基于iFIX的监控系统数据分析库的建立[J].工业控制计算
机,2005,18(11):32-33.
[6] 吴坚兰,崔邵文,高连艳,等.利用iFIX监控软件实现数据采集和输出报表[J].电气传
动,2009,39(7):53-58.
[7] 吴纯,王怀杰.基于iFIX操作日志模块设计与实现[J].工业控制计算机,2011,24(3):8-9.
[8] 简志南.基于iFIX上位管理软件的污水处理厂监控系统[J].中国给水排水,2011,27(16):93-95.
[9] 杨凯.基于iFix的先进控制软件平台的总体设计[D].天津:天津大学,2007.
[10]孙晖.基于iFIX组态技术的港口起重机械远程监控系统仿真实验平台[J].港口装卸,2015(6):40-43.
[11]巩伟,宋勇江.Excel在iFIX软件的报表实现[J].自动化技术与应用,2011,30(6):88-90.
[12]钟洪,苏辉贵,谢小君.iFix与SQL通讯的设计与实现[J].微计算机信息,2006,22(10):107-109.
[13]王平,苗朋厚,邢建春.iFIX组态软件在钢铁厂生产调度监控系统中的应用[J].工业控制计算
机,2002,15(6):51-53.
[14]万细阳.iFIX组态软件在水厂自动化系统中的应用[J].自动化与仪表,2006(4):64-66.
[15]王立明,张会柱,徐鹏飞,等.基于iFix的安全生产数字化综合监控系统[J].煤矿现代
化,2013,15(4):65-67.。