IFIX历史报警数据存储与查询
ifix培训手册(2024)

运行。
历史数据存储与分析
2024/1/29
ifix能够长期存储历史数据,并提供 丰富的数据分析工具,帮助用户深入
了解设备运行状况。
报警与事件管理
当设备出现故障或异常时,ifix能够 及时发出报警信息,并记录相关事件 ,方便后续分析处理。
布局参数设置
通过设置布局参数控制控件在布局中的位置、大小和 行为。
2024/1/29
9
自定义控件开发方法
2024/1/29
控件继承
通过继承现有控件类并重写相关方法,实现自定义控件的开发。
绘图API
使用绘图API在控件上绘制自定义图形和文字,实现个性化展示 效果。
事件处理
为自定义控件添加事件处理机制,响应用户操作和程序状态变化 。
属性设置
02
通过属性窗口或代码方式设置元素的基本属性,如位置、大小
、颜色、字体等。
动态属性
03
根据程序运行状态或用户操作动态改变元素属性,实现界面交
互效果。
8
布局管理器使用技巧
布局管理器
提供自动布局功能,根据控件大小和位置自动调整界 面布局。
常用布局管理器
包括流式布局、网格布局、边框布局等,适用于不同 场景和需求。
03 02
23
插件开发流程及示例
编写插件代码并进行测试
打包和发布插件
插件开发示例
2024/1/29
24
插件开发流程及示例
数据采集插件
通过自定义接口开发,实现 与特定设备或系统的数据采 集功能。
报警管理插件
扩展报警管理功能,支持自 定义报警规则、报警通知等 。
第9节IFIX软件实时报警讲解

第9节IFIX实时报警组态报警是指数据块的状态超过了预定义的报警限值。
报警配置主要包括启用报警一览表、设置报警服务内容、设置数据库中报警等。
报警一览表可以直观的显示报警信息。
报警服务可以提供报警音响功能,搭配电脑音响可以实现声音报警。
让操作员第一时间知道系统异常发生时间及内容。
本节课程主要介绍1、SCU报警配置2、数据块报警参数配置3、建立实时报警一览表4、报警一览表进行表格配置5、画面下显示报警一览表。
同学们在学习过程中有疑问可以在腾讯课堂下搜索相应视频课程就可以观看。
一、SCU报警配置1. 在“SCU-FIX”界面菜单栏中执行“配置”-报警命令,弹出报警配置按钮,选择“报警一览表”服务启动。
2. 在“报警配置”对话框中选择“修改”按钮,弹出“报警一览服务配置”对话框。
报警删除-自动,音响支持-启用。
3. 在“报警一览服务配置”对话框选择“区域”按钮,弹出报警区域对话框。
将可用区域“A”添加到已设置区域。
点击确定按钮完成报警配置,返回SCU 点击文件执行“保存操作”。
二、数据块报警参数配置1. 在数据库管理器器打开过程数据库,找到模拟量双击弹出数据块配置窗口,选择报警标签页。
设置LL:10.0,L:20.0,H:80.0,HH:90.0,优先级:HIGH2.在报警区域双击默认区域“ALL”弹出报警区域-数据库块对话框,这里将区域A添加到已配置区域A。
点击确定完成数据块报警配置。
三、在画面上添加报警一览表1. 新建画面名称为“报警一览表”,在菜单栏下选择插入按钮-选择“对象/连接”下拉箭头选择报警一览。
2. 选择报警一览弹出报警一览表3.双击报警一览表弹出“报警一览表设置”对话框。
常规选项卡-修改报警表字体与描述4.操作员选项卡配置操作员具有哪些权限。
5. 过滤选项卡-进行报警过滤操作6.排序标签页-报警信息的先后排列顺序,可通过下拉菜单选择以何种信息排序。
7.颜色标签页-修改报警状态的颜色、优先级颜色、一览表背景颜色。
IFIX使用总结

目录一、软件安装 (3)1、安装步骤 (3)2、第三方软件安装 (3)二、IFIX基本知识 (4)1)SCADA配置 (5)2)路径配置 (5)3)、I/O驱动配置 (6)4)、报警配置 (7)5)、任务配置 (11)6)、安全配置 (11)7)、数据库配置 (15)8)、人机界面 (18)9)、历史库定义 (18)10)、任务控制 (20)11)、如何更改画面高度 (22)12)、标签组使用 (22)三、如何实现IFIX的MBE仿真 (23)1)、首先在ifix上位机软件上安装好MBE驱动 (24)2)、添加配置好通道和数据块IP填电脑IP (25)3)、设置I/O地址范围,不可超出范围,下图模拟量地址有26个 (26)4)、打开modscan32 (27)5)、“connection”→“connect”出现下图 (28)6)、“connect using”选择“TCP/IP”,“IP Address”填入电脑IP,“Service Port” 与modsim32里设置一样。
然后OK (29)7)、打开modsim32 (29)8)、建立连接: (30)9)、“connection”→“connect”→“modbus/TCP Svr” (30)10)、然后2个软件的:Device Id、Address、MODBUS point Type、Length、必须一样,这样通讯建立! (31)四、常见问题 (32)1)、怎么实现登陆 (32)2)、关于安全,在配置安全以后,重装IFIX时会出现严重错误 (32)3)、VB中语句Private conData As ADODB.Connection运行提示用户定义类型未定义,是怎么回事? (33)4)、如何打开以前的工程 (33)五:常用脚本 (33)1)、按钮二次确认 (33)2)、脉冲输出示例 (34)说明:里面IFIX用MBE驱动为例,现在只是根据自己在使用IFIX中遇到问题总结!共同进步!IFXI使用总结一、软件安装1、安装步骤【说明】在安装过程中,弹出的设置窗口选择默认设置,以下列出需注意的地方。
IFIX历史报警数据存储与查询

关于IFIX历史报警数据存储与查询实例一.ODBC服务的连接开始-设置-控制面板-管理工具-数据源ODBC选用户DNS-添加-选Microsoft Access Driver(*.mdb)数据源名:Myalarm选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D:连接池-禁止二.系统SCU的配置SCU-IFIX-配置-报警-报警ODBC服务,启动-修改-区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定配置:数据库类型:Access数据库标识符:Myalarm列配置:选9项现在创建表:FIXALARMS(默认表名)其它默认-确定保存退出三.控件的引用1.日期时间控件典型装VB6.0后,项目工具栏文件----工具栏----插入OLE对象双击选Microsoft date and time picker控件日期控件-属性-格式:1-dtpShortDate,有效前不打勾。
其它默认,时间控件-属性-格式:2-dtpTime, 有效前不打勾。
其它默认2.vxData控件(数据管道)IFIX4.0工具箱底部vxData图标右键-属性vxData对象----PROPERTIES VISICONXDATA VXDATA对象提供者:Microsoft OLE DB Provider for ODBC Drivers数据库:DNS名:Myalarm,用户名密码选项均空---测试连接-测试连接成功-确定记录源:命令类型:SQL命令应用-确定3.vxGrid控件(显示)工具箱底部vxGrid图标选控件vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾数据源:报警记录一览表.vxData1.ADORecords数据转换:对象四.VBA脚本的编写1.初始化脚本代码'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & F ormat(Me.DTPEndTime.Value, "HH:MM:SS")End Sub2. 查询按扭CmbSearch代码如下:'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & F ormat(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _ "(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NAT IVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub3. 完整的VBA按扭代码如下:'初始化设置Private Sub CFixPicture_Initialize()'设定默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & F ormat(Me.DTPEndTime.Value, "HH:MM:SS")End SubPrivate Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)End Sub'开始查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Format(Me.DTPFromTime.Value, "HH:MM:SS")vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & F ormat(Me.DTPEndTime.Value, "HH:MM:SS")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _ "(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NAT IVETIMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub以上工作结束后保存,退出。
通过SQL server查询ifix历史报警信息(下)

通过SQL Server数据库查询ifix历史报警信息IFIX组态软件中提供报警一览控件,但是只能作为DCS系统中实时报警信息的显示,不能做到历史报警的查询功能,在网上笔者也查了方法,毫不避讳的说,都是垃圾,下面将结合实际项目经验,分享查询ifix历史报警的一种方法,主体思路是通过配置ifix组态软件,将系统报警写入到SQL Server数据库中,然后通过VBA脚本对数据中存放的报警信息进行查询。
软件操作环境:ifixV6.0+SQL Server2014+windows7旗舰版64BIT通过上一篇文档操作,我们已经实现了将ifix报警信息存储在我们新建的SQL Server数据库中,本片文档将详细介绍如何通过VBA脚本来读取数据库中的存放的报警信息。
目录1. 新建画面,插入DT PICKER OLE对象 (2)2. 插入其它控件 (2)3. 报警查询按钮VBA具体脚本 (3)4. 初始化VBA具体脚本 (4)5. 运行项目测试 (4)1.新建画面,插入DT PICKER OLE对象具体步骤:新建一个ifix画面,画面中插入两个Microsoft date and time picker control控件,分别命名为StartTime和Endtime控件属性修改:右键添加的日期时间控件,选择属性,参照下图进行设置2.插入其它控件插入一个按钮,作为查询按钮;再插入一个ViseconX网格控件,用来显示查询到的报警信息;3.报警查询按钮VBA具体脚本查询按钮的CLICK事件中编写如下脚本:If PIC报警查询.Endtime.Value < PIC报警查询.StartTime.Value ThenMsgBox ("时间范围有误,请重新输入!")Exit SubEnd If '判断输入时间是否合规Dim rsADO As New ADODB.RecordsetDim cnADO As New ADODB.ConnectionDim SQL As StringDim strStartTimeDim strEndTimestrStartTime = Format(PIC报警查询.StartTime.Value, "yyyy-MM-dd HH:mm:ss") '设置开始时间格式strEndTime = Format(PIC报警查询.Endtime.Value, "yyyy-MM-dd HH:mm:ss") '设置结束时间格式'查询语句查询报警历史数据库中的字段,用户可根据实际需求,修改查询字段SQL = "SelectALM_NATIVETIMEIN,ALM_NATIVETIMELAST,ALM_TAGNAME,ALM_VALUE,ALM_DESCR,ALM_ALM STATUS FROM FIXALARMS where ((FIXALARMS.ALM_NATIVETIMEIN >={ts '" & strStartTime & "'}) and (FIXALARMS.ALM_NATIVETIMEIN <={ts '" & strEndTime & "'})) "Set cnADO = New ADODB.ConnectionSet rsADO = New ADODB.Recordset'Server=数据库所在机器的IP或机器名,DataBase=用户现场实际访问的数据库。
2024版完整版IFix培训教程

IFix提供实时数据监控、报警管理、 历史数据记录、报表生成等功能, 支持多种通信协议和硬件设备连接。
4
系统安装与配置要求
安装要求
安装IFix需要满足操作系统、硬件和数 据库等方面的要求,如Windows操作 系统、足够的内存和硬盘空间等。
配置要求
配置IFix需要设置通信参数、定义数据 点、创建画面等,确保系统能够正确连 接设备和采集数据。
轮询机制
定时向数据源发送请求,获取最新数 据。
11
实时数据采集与传输协议
01
02
03
HTTP/HTTPS
基于Web的通信协议,用 于API接口数据的传输。
2024/1/25
WebSocket
在单个TCP连接上进行全 双工通信的协议,适用于 实时数据交互场景。
MQTT
轻量级的发布/订阅消息传 输协议,常用于物联网领 域的数据传输。
2024/1/25
5
用户界面及操作指南
用户界面
IFix用户界面包括菜单栏、工具栏、画面窗口、属性窗口等部分,提供直观的 操作体验。
操作指南
操作指南包括启动和退出程序、创建和编辑画面、定义数据点、设置报警等步 骤的详细说明,帮助用户快速掌握软件的使用方法。
2024/1/25
6
02
数据采集与处理
2024/1/25
7
数据源类型及连接方式
关系型NoSQL数据库
如MongoDB、Redis等。
2024/1/25
8
数据源类型及连接方式
API接口
如RESTful API、SOAP API等。
文件数据
如CSV、XML、JSON等。
2024/1/25
IFIX历史报警

创建IFIX历史报警图解一、创建ODBC数据库:利用控制面板中的数据库(ODBC)创建一个Access数据库DCC.mdb,并存于C盘根目录下,具体步骤如图1,2所示:图1图2二、IFIX历史报警配置:在SCU的报警配置中启用相关选项,如图3;选中“报警ODBC服务”项后“修改”,弹出图4后选择“配置”,配置的参数具体如图5。
在配置完IFIX 历史报警与ODBC中创建的数据库的关联后,创建表FIXALARMS。
图3图4图5选择“报警配置”中的“高级”,并设置“操作员消息”和“配方消息”为“不发送”,如图6、图7(这一步很重要,否则IFIX将区分不开报警与消息)。
图6图7三、画面配置及代码:1、在报警历史画面中创建如下图8所示控件,时间提取控件需要选择菜单栏的“插入”菜单,然后选择“插入OLE”,从中添加“Microsoft Date and Time Picker”控件。
图82、画面中的控件名如图9所示:图93、画面中的VXData1.vxData属性如图10所示。
图104、画面中的VXGrid1. ADORecords属性如图11所示。
图115、画面中控件的具体代码如图12。
图126、附代码:Private Sub CFixPicture_Close()vxData1.DBDisconnectEnd SubPrivate Sub CFixPicture_Initialize()Me.DTp1 = DateAdd("d", -1, Now)Me.DTp2 = NowMe.DTp3 = NowMe.DTp4 = NowtimerDPT.Interval = 10000timerDPT.EnableEndTime = TruevxData1.DBConnectEnd SubPrivate Sub CommandButton1_Click()vxData1.QP1 = Format(DTp1.Value, "yyyy-mm-dd" & " " & Format(DTp2.Value, "HH:mm:ss"))vxData1.QP2 = Format(DTp3.Value, "yyyy-mm-dd" & " " & Format(DTp4.Value, "HH:mm:ss"))vxData1.AutoRefresh = TruevxData1.SQLCommand = " SELECT * FROM FIXALARMS WHERE (FIXALARMS.ALM_NATIVETIMEIN " _& "BETWEEN {ts 'QP1'} AND {ts 'QP2'}) ORDER BY FIXALARMS.ALM_NATIVETIMEIN DESC"vxData1.RefreshvxGrid1.RefreshEnd SubPrivate Sub timerDPT_OnTimeOut(ByVal lTimerId As Long)Me.DTp1 = DateAdd("d", -1, Now)Me.DTp2 = NowMe.DTp3 = NowMe.DTp4 = NowEnd Sub四、设置系统时间:在控制面板中选择区域和语言选项,将系统时间显示方式按图13所示配置。
组态王报警存储与查询例程说明文档分析

报警存储与查询例程说明文档北京亚控科技发展有限公司月10年2018.“报警存储与查询”例程说明文档目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 新建工程 (1)3.2 报警配置 (7)3.3 进入运行系统 (14)3.4 历史报警查询 (15)4. 注意事项 (25)i北京亚控科技发展有限公司.“报警存储与查询”例程说明文档1. 功能概述常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。
组态王中的实现方法:组态王支持通过ODBC 接口将数据存储到关系数据库中,并且提供KV ADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。
关系数据库可以为Access数据库或者SQLServer数据库。
2. 工程实例我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。
历史报警的查询主要根据日期、报警组为条件进行查询。
报警信息存储的数据库以Access数据库为例进行。
下面就以此为例来演示完成这一现场需求的设置步骤。
3. 操作步骤3.1新建工程3.1.1定义设备新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。
此仿真PLC可以做为虚拟设备与组态王进行通讯。
仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。
具体的寄存器的使用请参考组态王IO驱动帮助。
3.1.2定义变量在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于IFIX历史报警数据存储与查询实例一.ODBC服务的连接
开始-设置-控制面板-管理工具-数据源ODBC
选用户DNS-添加-选Microsoft Access Driver(*.mdb)
数据源名:Myalarm
选(或创建)数据库名:Alarm.mdb, 文件类型:Access,驱动器D: 连接池-禁止
二.系统SCU的配置
SCU-IFIX-配置-报警-报警ODBC服务,启动-修改- 区域(A):从报警区域数据库中选择- CLQS-ALM-增加-确定配置:数据库类型:Access
数据库标识符:Myalarm
列配置:选9项
现在创建表:FIXALARMS(默认表名)
其它默认-确定
保存退出
三.控件的引用
1.日期时间控件
典型装VB6.0后,
项目工具栏文件----工具栏----插入OLE对象
双击选Microsoft date and time picker控件
日期控件-属性-格式:1-dtpShortDate,有效前不打勾。
其它默认, 时间控件-属性-格式:2-dtpTime, 有效前不打勾。
其它默认2.vxData控件(数据管道)
IFIX4.0工具箱底部vxData图标
右键-属性vxData对象----PROPERTIES VISICONXDATA VXDATA对象
提供者:Microsoft OLE DB Provider for ODBC Drivers
数据库:DNS名:Myalarm,用户名密码选项均空---测试连接-测试连接成功-确定
记录源:命令类型:SQL命令
应用-确定
3.vxGrid控件(显示)
工具箱底部vxGrid图标
选控件 vxGrid1-右键-动画-高级-高级动画配置-行为-ADORecords-动画打勾数据源:报警记录一览表.vxData1.ADORecords
数据转换:对象
四.VBA脚本的编写
1.初始化脚本代码
'初始化设置
Private Sub CFixPicture_Initialize()
'设定默认开始时间
Me.DTPFromDate = DateAdd("d", -1, Now)
Me.DTPFromTime = ("00:00:00")
'设默认结束时间
Me.DTPEndDate = Now
Me.DTPEndTime = Now
'设置时间
'vxData1.QP1 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") 'vxData1.QP2 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") End Sub
2. 查询按扭CmbSearch代码如下:
'开始查询
Private Sub CmbSearch_Click()
'连接自动刷新
= True
'Format函数用于设定时间格式
vxData1.QP1 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") vxData1.QP2 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS")
'设定查询内容
'从数据库中查询符合时间段的数据
= "SELECT *FROM FIXALARMS WHERE" & _
"(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVETI MELAST <= {ts 'QP2'})"
'刷新数据
End Sub
3. 完整的VBA按扭代码如下:
'初始化设置
Private Sub CFixPicture_Initialize()
'设定默认开始时间
Me.DTPFromDate = DateAdd("d", -1, Now)
Me.DTPFromTime = ("00:00:00")
'设默认结束时间
Me.DTPEndDate = Now
Me.DTPEndTime = Now
'设置时间
'vxData1.QP1 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") 'vxData1.QP2 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") End Sub
Private Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)
End Sub
'开始查询
Private Sub CmbSearch_Click()
'连接自动刷新
= True
'Format函数用于设定时间格式
vxData1.QP1 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS") vxData1.QP2 = Format(, "yyyy-MM-DD") & " " & Format(, "HH:MM:SS")
'设定查询内容
'从数据库中查询符合时间段的数据
= "SELECT *FROM FIXALARMS WHERE" & _
"(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVETI MELAST <= {ts 'QP2'})"
'刷新数据
End Sub
以上工作结束后保存,退出。
重新启动IFIX4.0,运行后即可使用。