在关于污水处理厂项目实施过程中,按照业主要求,需要用到报警历史的查询功能,遂搜资料,整理在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

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

参考资料:

点击打开链接

GE ifix 5.5中关于历史报警表的制作的更多相关文章

  1. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  2. git 仓库中删除历史大文件

    git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以下分几个步骤介绍如何减小.git文 ...

  3. 工作流中的流程追溯!详细解析Activiti框架中的历史组件

    Activit中的历史简介 历史: Activiti中的一个组件,可以捕获发生在进程执行中的信息并永久的保存.与运行时数据不同的是,当流程实例运行完成之后它还会存在于数据库中 历史实体对象有5个: H ...

  4. WPF中桌面屏保的制作(主要代码)

    原文:WPF中桌面屏保的制作(主要代码) 制作要点:(1) 使用System.Windows.Threading.DispatcherTimer;(2) 将Window属性设置为:      this ...

  5. 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具

    查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...

  6. 在 Git 中 Checkout 历史版本

    昨天写代码的时候,误删了一个文件.今天发现的时候,commit 已经 push 到版本库了.本想用 git reset 回退版本,找回文件后重新提交.但是想起 Git 是一个版本控制系统哎,直接从版本 ...

  7. 【转】Linux中history历史命令使用方法详解

    原文网址:http://os.51cto.com/art/201205/335040.htm 当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效 ...

  8. 第89天:HTML5中 访问历史、全屏和网页存储API

    一.访问历史 API 通过history对象实现前进.后退和刷新之类的操作 history新增的两个方法history.replaceState()和history.pushState()方法属于HT ...

  9. Linux中history历史命令使用方法详解

    当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌 握了我在下面给出的15个有关Linux history历史命 ...

随机推荐

  1. 【题解】Luogu p2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat 树型dp

    题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of cours ...

  2. 【题解】逐个击破 luogu2700

    题目 题目描述: 现在有N个城市,其中K个被敌方军团占领了,N个城市间有N-1条公路相连,破坏其中某条公路的代价是已知的. 现在,告诉你K个敌方军团所在的城市,以及所有公路破坏的代价,请你算出花费最少 ...

  3. 关于kubernetes的十七个实验(一)

    实验综述 Kubernetes用来管理云平台上的容器化应用,这里从 https://www.katacoda.com/courses/kubernetes 学习Kubernetes的使用,对Kuber ...

  4. Java并发之ReentrantLock源码解析(三)

    ReentrantLock和BlockingQueue 首先,看到这个标题,不要怀疑自己进错文章,也不要怀疑笔者写错,哈哈.本章笔者会从BlockingQueue(阻塞队列)的角度,看看juc包下的阻 ...

  5. CCF CSP认证考试在线评测系统

    关于 CCF CSP 认证考试在线评测系统 CCF CSP 认证考试简介 CCF 是中国计算机学会的简称.CCF 计算机软件能力认证(简称 CCF CSP 认证考试)是 CCF 于 2014 年推出, ...

  6. Linux中的chkconfig

    chkconfig是用来查看开机自启动项目的命令.默认列出linux系统开机自启的项目.平时我们使用时习惯加上--list 从这个图中可以看到当前系统有哪些开机启动项目,就是红色框中的on. 那么怎么 ...

  7. 27、路由 route

    优先于网卡中的配置,但是重启或重启网卡失效,最好加入到开机自启动服务中/etc/rc.local文件中: 27.1.添加网络路由: 目的网络.目的网络掩码,网关.网卡: 网络寻址以路由表中的路由优先: ...

  8. 20、nginx之ngx_http_upstream_module模块

    nginx的ngx_http_upstream_module模块是用于nginx反向代理的,默认在安装nginx时已经被安装,ngx_http_upstream_module模块 的内容应放于 ngi ...

  9. SpringBoot Validation参数校验 详解自定义注解规则和分组校验

    前言 Hibernate Validator 是 Bean Validation 的参考实现 .Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的 ...

  10. POJ 3347 Kadj Squares 计算几何

    求出正方形的左右端点,再判断是否覆盖 #include <iostream> #include <cstdio> #include <cstring> #inclu ...