GE 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
至此,一个完整报警历史功能基本完成。
参考资料:
GE ifix 5.5中关于历史报警表的制作的更多相关文章
- Linux中的历史命令
Linux中的历史命令一般保存在用户 /root/.bash_history history 选项 历史命令保存文件夹 选项 -c:清空历史命令 -w :把缓存中的历史命令写入历 ...
- git 仓库中删除历史大文件
git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以下分几个步骤介绍如何减小.git文 ...
- 工作流中的流程追溯!详细解析Activiti框架中的历史组件
Activit中的历史简介 历史: Activiti中的一个组件,可以捕获发生在进程执行中的信息并永久的保存.与运行时数据不同的是,当流程实例运行完成之后它还会存在于数据库中 历史实体对象有5个: H ...
- WPF中桌面屏保的制作(主要代码)
原文:WPF中桌面屏保的制作(主要代码) 制作要点:(1) 使用System.Windows.Threading.DispatcherTimer;(2) 将Window属性设置为: this ...
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- 在 Git 中 Checkout 历史版本
昨天写代码的时候,误删了一个文件.今天发现的时候,commit 已经 push 到版本库了.本想用 git reset 回退版本,找回文件后重新提交.但是想起 Git 是一个版本控制系统哎,直接从版本 ...
- 【转】Linux中history历史命令使用方法详解
原文网址:http://os.51cto.com/art/201205/335040.htm 当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效 ...
- 第89天:HTML5中 访问历史、全屏和网页存储API
一.访问历史 API 通过history对象实现前进.后退和刷新之类的操作 history新增的两个方法history.replaceState()和history.pushState()方法属于HT ...
- Linux中history历史命令使用方法详解
当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌 握了我在下面给出的15个有关Linux history历史命 ...
随机推荐
- NOIP模拟测试30「return·one·magic」
magic 题解 首先原式指数肯定会爆$long$ $long$ 首先根据欧拉定理我们可以将原式换成$N^{\sum\limits_{i=1}^{i<=N} [gcd(i,N)==1] C_{G ...
- Go语言深度比较值是否相等
Go语言深度比较值是否相等 需求描述: 我们在开发过程中经常会遇到一些需要比较值是否相等的场景,例如比较两个数组.结构体.Map.等,自己写这些代码比较繁琐,大部分时候这里都可以使用到反射reflec ...
- JavaScript 沙盒模式
微前端已经成为前端领域比较火爆的话题,在技术方面,微前端有一个始终绕不过去的话题就是前端沙箱 什么是沙箱 Sandboxie(又叫沙箱.沙盘)即是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程 ...
- 数学:3D和矩阵
跟紧工作需求学习,于是抽了点时间看了看用于2D3D转换的矩阵内容. 矩阵在3D数学中,可以用来描述两个坐标系间 的关系,通过定义的运算能够把一个坐标系中的向量转换到另一个坐标系中.在线性代数中,矩阵就 ...
- Docker入门与进阶(上)
Docker入门与进阶(上) 作者 刘畅 时间 2020-10-17 目录 1 Docker核心概述与安装 1 1.1 为什么要用容器 1 1.2 docker是什么 1 1.3 docker设计目标 ...
- Ansible自动化运维应用实战
实验环境 centos7.4 主机名称 IP 配置 用途 controlnode 172.16.1.120 1核/1G/60G ansible slavenode1 172.16.1.121 1核/1 ...
- 详细解释 使用FileReference类加载和保存本地文件
一般而言,用户不希望web浏览器中运行的应用程序访问电脑硬盘里的文件.然而,随着基于浏览器(browser-based)的富因特网应用程序的增多,一些应用程序迫切需要访问用户所选择的文件,或者将文件保 ...
- 【译】Go:程序如何恢复?
原文:https://medium.com/a-journey-with-go/go-how-does-a-program-recover-fbbbf27cc31e 当程序不能正确处理错误时, 会 ...
- 每日英语——the rest of my life
<the rest of My life> 词面意思:我的余生 实际意思:我的余生 1. 歌曲:<The Rest of My life> Less Than Jake 歌词 ...
- 「AGC021E」Ball Eat Chameleons
「AGC021E」Ball Eat Chameleons 考虑如何判定一个合法的颜色序列. 不妨设颜色序列中有 \(R\) 个红球,\(B\) 个蓝球,所以有 \(R+B=k\). 考虑分情况讨论: ...