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

    前言: 继上篇blog所写的几种日期的求法,这次是把那几种聚合起来,即日期类的聚合设计.除下这类,一种是图形继承设计的3种变化,还有一种是3次对正则表达式的应用.当然,作为一个菜鸟,还是无法写成大佬的 ...

  2. Nginx为什么快到根本停不下来?

    Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器. 图片来自 Pexels Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资 ...

  3. redis为什么要提供pipeline功能

    通常我们用redis做接口缓存后,查询接口的性能就能提升到ms级别: 但是redis是纯内存操作啊,总不至于要到ms吧,根据官方的 benchmark 单实例也是能抗 7w+ qps 也就是说单个re ...

  4. 『言善信』Fiddler工具 — 16、使用Fiddler抓取移动端App请求

    目录 1.抓取Android移动端App请求 2.抓取IOS移动端App请求 3.总结: 1.抓取Android移动端App请求 前提: 因为Fiddler抓包的原理就是通过代理,所以确保被测终端要和 ...

  5. NOIP模拟测试8「匹配·回家」

    匹配 哈希能A 水到爆炸 回家 事实上我做过一个原题,甚至比这个回家难的多,而且那个题多组询问必经点 然后我做一组询问就打炸了 大约就是删了很多东西,然后自己想的太简单了 直接统计了割点,懒得打lca ...

  6. MySQL忘记密码怎么办-MySQL修改密码(亲测可用)

    前言: 最近要用到本地的MySQL,结果把密码忘记了. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pas ...

  7. 1shell变量的作用域

    Shell 局部变量 Shell 全局变量 shell全局变量的易错点 linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别 Shell 环境 ...

  8. Acunetix引入了Docker支持,扫描统计信息以及将漏洞发送到AWS WAF的功能

    已针对Windows,Linux和macOS发布了新的Acunetix更新:14.2.210503151. 此Acunetix更新引入了Docker支持,针对每次扫描显示的新"扫描统计信息& ...

  9. asp.net mvc中的路由

    [Route] 路由 [Route("~/")] 忽略路由前缀 [Route("person/{id:int}")] 路由内联约束 [Route("h ...

  10. MYSQL注入技巧备忘录

    MYSQL一些技巧 仅仅是作为自己备忘录,如果错误,敬请斧正. 0)基础饶过 1.大小写绕过 2.双写绕过 3.添加注释 /*!*/ or /*!小于mysql版本*/ 5.宽字节.Latin1默认编 ...