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历史命 ... 
随机推荐
- .Net Core with 微服务 - Seq 日志聚合
			上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心,来实现服务的注册与发现.那么本次我们讲会演示如何做日志聚合.日志聚合比较常用的有 ELK 等,但是这次我想要介绍的是一款比较小众 ... 
- Winform中只运行运行一个实例的方法
			在Program类的main方法按如下代码编写即可 1 static void Main() 2 { 3 if (Process.GetProcessesByName(Process.GetCurre ... 
- 京东 Vue3 组件库支持小程序开发啦!
			源码抢先看: https://github.com/jdf2e/nutui NutUI 3.0 官网:https://nutui.jd.com/3x/#/ 小程序多端适配 设计初衷 在跨端小程序的开发 ... 
- kubernetes源码解析---- apiserver路由构建解析(2)
			kubernetes源码解析---- apiserver路由构建解析(2) 上文主要对go-restful这个包进行了简单的介绍,下面我们通过阅读代码来理解apiserver路由的详细构建过程. (k ... 
- Java并发之Semaphore源码解析(一)
			Semaphore 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析,ReentrantLock源码解析里介绍的方法有很多是本章的铺垫.下面,我们进入本章正题Sem ... 
- Java并发之Semaphore源码解析(二)
			在上一章,我们学习了信号量(Semaphore)是如何请求许可证的,下面我们来看看要如何归还许可证. 可以看到当我们要归还许可证时,不论是调用release()或是release(int permit ... 
- 29、html介绍
			29.1.前端概述: 1.html.css.js之间的关系: html是页面布局,css是页面渲染,js是让页面动起来(让页面和用户进行交互): 2.浏览器访问web站点获取html页面图示: 3.h ... 
- webpack(1)安装环境与解决环境问题
			前言 如果我们需要使用webpack,就需要依赖node环境 nvm node npm webpack@cli webpack nvm安装 nvm是一个用来管理node版本的工具.我们之所以需要使用n ... 
- Error in render: "TypeError: Cannot read property '' of undefined"
			描述 在用Vue的时候出现了一个令人窒息的错误 报错显示 "avatar" 未定义,但在postman中测试返回的数据确实有"avatar",可是为什么未找到? ... 
- NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用
			业精于勤,荒于嬉:行成于思,毁于随. 我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用. 前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点 ... 
