ifix 5.5中关于历史报警表的制作

     在关于污水处理厂项目实施过程中,按照业主要求,需要用到报警历史的查询功能,遂搜资料,整理在ifix5.5下如何实现报警历史的查询,经过一天的研究,以及多天的入坑,出坑,总算完成。现整理如下,供后来人参考:

具体技术细节分为下面几个部分:

1.ifix5.5下进行传统历史库的开启。



按照如上修改后,即可在proficy目录下打开HTA.exe进行采集tag的设置,设置完历史采集点,即可在SCU中添加后台任务HTC.EXE,随ifix启动而启动。

由此,整个传统历史采集过程设置完成。

2.关于报警数据的历史记录。

a.先建立SQL SEVER数据库ALARM,然后将数据库使用ODBC进行关联。(此处有坑,win7 64位操作系统的odbc关联,需打开SysWOW64进行寻找,不然默认odbcad32找出来的是32位的管理器,不起效果)。



b.打开SCU,如下图点开配置中的报警,对报警历史进行数据库关联操作。



点击启用odbc配置,然后数据库配置中,点击现在创建表,即可在你的数据库中发现已经创建号FIXALARMS表。



至此,ifix通过odbc连接已经和SQL SEVER 建立的报警历史的采集。

注:查看是否已经在采集历史报警,可以使用如下方式:

在工作台编辑模式下,打开程序-》任务控制-》查看报警ODBC,记录状态是激活状态,即为已经开始采集。


3.关于报警历史表的制作和查询功能实现。

实现了上述两步,只是将数据进行了后台存储,还需将数据放置在前台显示和查询,具体实现效果如下图所示:

通过起始时间和结束时间的设定,点击查询按钮,即可在表格中显示该段时间的报警历史。


具体实现如下:

1.新建画面-》添加两个DateTimepicker控件,一个VisiconXGrid控件(显示数据),一个VisiconXData控件(连接数据)

2.然后分别对各个控件进行设置:

a.DateTimepicker控件


b.VisiconXData控件




C.VisiconXGrid控件(关联vxdata控件中的数据)


3.对各个控件的后台脚本编写。

Private Sub CFixPicture_Close()
vxData1.DBDisconnect


End Sub


Private Sub CFixPicture_Initialize()
Me.DTPicker1 = DateAdd("d", -1, Now)
Me.DTPicker2 = Now
vxData1.DBConnect
End Sub




Private Sub CommandButton2_Click()
vxData1.QP1 = DTPicker1.Value
vxData1.QP2 = DTPicker2.Value
vxData1.AutoRefresh = True
vxData1.SQLCommand = "select * from FIXALARMS WHERE (FIXALARMS.开始时间>={ts 'QP1'}) AND(FIXALARMS.结束时间<={ts 'QP2'})"
Me.vxData1.Refresh
Me.vxGrid1.Refresh


End Sub

至此,一个完整报警历史功能基本完成。

参考资料:

点击打开链接


猜你喜欢

转载自blog.csdn.net/sheng1522098487/article/details/80066903
今日推荐