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历史命 ...
随机推荐
- 尼恩 Java高并发三部曲 [官方]
高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三部曲 > 面试必备 + 大厂必备 + 涨薪 ...
- 还在担心写的一手烂SQL,送你4款工具
对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢? 俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要 ...
- 利用SPI机制实现责任链模式中的处理类热插拔
最近看到责任链模式的时候每增加一个处理类,就必须在责任链的实现类中手动增加到责任链中,具体代码基本就是list.add(new FilterImpl()),可以看到每次增加一个处理类,就必须添加一行上 ...
- Android系统编程入门系列之应用初始化Application
在上一篇文章中我们了解到Android系统启动应用的时候,会首先加载AndroidManifest.xml清单文件中的一系列信息,在清单文件中如果不指定<application></ ...
- 单元测试布道二:在全新的 DDD 架构上进行单元测试
目录 回顾 dotnet 单元测试相关的工具和知识 可测试性 不确定性/未决行为 依赖于实现:不可 mock 复杂继承/高耦合代码:测试困难 实战:在全新的 DDD 架构上进行单元测试 需求-迭代1: ...
- JUnit5注解学习指引
注解(Annotations)是JUnit的标志性技术,本文就来对它的20个注解,以及元注解和组合注解进行学习. 20个注解 在org.junit.jupiter.api包中定义了这些注解,它们分别是 ...
- SpringAnimator弹簧联动效果的实现
使用SpringAnimation实现弹簧联动 简介 弹簧效果动画SpringAnimation与甩动效果动画FlingAnimation使用上很类似,主要区别在于FlingAnimation是根据甩 ...
- ceph-csi源码分析(3)-rbd driver-服务入口分析
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(3)-rbd driver-服务入口分析 当ceph-csi组件启动 ...
- 最新Unity 与Android 交互通信(基于Unity 2019.4 和 Android Studio 4.1.1)
原文章链接:https://blog.csdn.net/woshihaizeiwang/article/details/115395519 CLSays:网上找了一圈,真的是很多都不能用,要么太老,要 ...
- My Idol:Beihai Zhang --<<The Three-body Problem>>
First 父:"要多想." 子:"想了之后呢?" 父:"北海,我只能告诉你在那以前要多想." 要多想--这场战争敌我力量对比过于悬殊,硬碰 ...