IFIX历史报警数据存储与查询
- 格式:doc
- 大小:199.00 KB
- 文档页数:5
第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.颜色标签页-修改报警状态的颜色、优先级颜色、一览表背景颜色。
目录一、软件安装 (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、安装步骤【说明】在安装过程中,弹出的设置窗口选择默认设置,以下列出需注意的地方。
通过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=用户现场实际访问的数据库。
程序可执行文件功能报警文件任务(自动)ALMFILE.EXE接收报警消息并以文件方式存储。
报警打印机任务(自动)ALMPRIN.EXE接收报警消息并发送到打印机。
报警一览任务(自动)ALMSUM.EXE在Proficy iFIX工作台的报警一览对象中显示接收的报警。
报警管理器(自动)NAM.EXE以网络方式发送报警消息,在SCADA服务上运行报警管理器。
报警客户端(自动)NAC.EXE以网络方式接收报警消息。
历史采集(可选)HTC.EXE按照历史定义配置文件来采集数据。
I/O控制(自动, SCADA)IOCNTRL.EXE启动I/O驱动程序,在SCADA服务器上显示I/O驱动程序的运行状态。
报警一览队列删除(自动,SCADA)SUMQDEL.EXE从报警一览队列中删除已查看的、已转为正常的报警。
扫描报警和控制(自动, SCADA)WSACTASK.EXE用来自I/O驱动程序的数据更新数据库,把要求写到I/O驱动程序中,产生报警,并执行数据库链逻辑。
网络诊断(可选)NETDIAG.EXE显示本地节点的网络会话状态。
TCP/IP任务(自动)TCPTASK.EXE支持基于TCP/IP的点对点通讯。
节点名称表(自动)NNTABLE.EXE存储有关本地和远程节点的网络信息。
连接管理器(自动)CONMGR.EXE启动期间,在配置文件中显示建立会话列表。
监视本地节点上的会话状态并在会话故障时产生报警信息。
也会在故障后尝试重新建立会话。
报警ODBC服务(自动)AlmODBC.EXE读取由iFIX产生的报警和消息并记录到ODBC-兼容的数据库中。
事件调度(可选)FixBackgroundServer.EXE运行基于时间和事件的脚本,允许调度报表和监视事件。
工作台(可选)Workspace.EXE打开Proficy iFIX 工作台,打开,编辑或浏览画面。
在运行模式下启动工作台的命令行参数的更多信息请参阅启动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所示配置。
iFIX使用手册iFIX使用手册目录1、概述1.1 介绍1.2 系统要求1.3 安装iFIX2、iFIX界面2.1 主界面2.2 工作区域2.3 菜单栏2.4 工具栏3、创建项目3.1 新建项目3.2 添加设备驱动3.3 配置通信3.4 导入标签4、设备连接4.1 创建设备4.2 配置设备参数4.3 设备连接状态5、图形化编辑5.1 新建画面5.2 添加控件5.3 编辑控件属性5.4 设定动画效果6、组件库6.1 控件库6.2 字库6.3 符号库7、运行与调试7.1 运行画面7.2 监视标签值7.3 调试功能8、报警与事件8.1 设置报警条件 8.2 定义报警消息8.3 报警处理9、数据存储9.1 历史数据记录 9.2 手动数据录入9.3 数据备份与恢复10、安全与权限控制10.1 用户与用户组10.2 权限设置11、监控与诊断11.1 故障诊断11.2 监控性能12、高级功能12.1 定时任务12.2 脚本编程12.3 接口与对接附件:本文档没有附件。
法律名词及注释:1、设备驱动:用于与外部设备进行通信的软件模块。
2、通信:指计算机之间或计算机与外部设备之间进行数据交换的过程。
3、标签:在iFIX中用于显示变量值的标识符。
4、画面:iFIX中可视化界面的一个页面,用于显示相关设备状态或操作控制界面。
5、控件:用于iFIX画面中显示数据、接受操作或显示系统相关信息的元素。
6、动画效果:在iFIX中实现数据显示动态效果的功能。
7、报警条件:用于设定在某一条件满足时触发报警。
8、报警消息:触发报警时显示的相关信息。
9、权限控制:用于设定用户或用户组对系统功能与数据的访问权限。
10、故障诊断:通过对系统运行状态的监控,快速诊断并解决故障。
11、性能监控:用于监测系统运行状态、性能指标的功能。
ifix5.5如何做历史数据库?pSpace在企业信息化的作用对于现代工业企业,如何能使决策者随时查看生产过程数据,以便快速地做出更为灵活的商业决策,是企业信息化建设的关键,在企业MES所关注的各项资源中,生产过程信息依然是重要的资源,如果不能解决生产过程信息实时有效上传的问题,将仍然无法充分利用和保障MES及ERP管理系统的投资。
企业MES核心是实时历史数据库,实时数据库可用于工厂过程的自动采集、存储和监视,可在线存储每个工艺过程点的多年数据,可以提供清晰、精确的操作情况画面,用户既可浏览工厂当前的生产情况,也可回顾过去的生产情况,可以说,实时数据库对于流程工厂来说就如同飞机上的“黑匣子”。
工厂的历史数据对公司来说是很有价值的,实时数据库的核心就是数据档案管理,它采集并存储与流程相关的上千点的数据,多年应用历史数据库管理的经验告诉我们,现在很难知道将来进行分析时哪些数据是必须的。
因此,保存所有的数据是防止丢失所需信息的最好方法。
此外,要改进产品,必须具备与之相关物料的信息,并了解当前和过去的操作状态。
实时数据库采集、存储流程信息,用来指导工艺改进、降低物料、增加产量。
实时数据库为最终用户提供了快捷、高效的工厂信息,由于工厂实时数据存放在统一的数据库中,工厂中的所有人,无论在什么地方都可看到和分析相同的信息,客户端的应用程序可使用户很容易对工厂级实施管理,诸如工艺改进、质量控制、故障预防维护等。
通过实时数据库可集成产品计划、维护管理、专家系统、化验室信息系统、模拟与优化等应用程序,在业务管理和实时生产之间起到桥梁作用。
北京三维力控推出的pSpaceTM就是这样一个极具竞争力的软件产品,pSpaceTM作为企业级实时历史数据库,通过极高速度的数据采集、大量历史数据存储和大量实时过程数据的发布,实现企业信息集成的基础平台,它为企业实现底层监控、信息集成提供了全方位的软件解决方案。
pSpace可以构成一个复杂的企业信息化系统,企业信息化系统是采用了实时历史数据库技术的计算机系统,该系统不仅仅是一组对数据进行处理的软件,也不只是一个数据库。
IFIX历史趋势制作步骤和历史趋势错误排查方法 IFIX是一款强大的上位机软件,能够简单方便的进行历史数据趋势查看、报表制作。
昌晖仪表在本文和大家聊聊IFIX5.9历史趋势制作步骤、历史趋势错误排查的方法。
IFIX趋势制作
1、安装IFIX传统数据库,并将IFIX数据库类型改为传统数据库。
2、XT配置中增加HTC任务。
3、工作台中启动HTC任务。
4、历史库定义中增加所需标签。
5、在IFIX上做出画面和脚本。
IFIX快速查看趋势办法:将模拟量点动画设置中,勾选可选择选项,此后,在
运行画面中可以直接打开该点的快速趋势。
IFIX历史趋势故障排查
很多时候趋势出现不能正常显示的问题,从上面趋势制作不难看出,问题分很多类型,如数据信号消失、HTC任务未运行、定义错误、HTC过载等等。
工控现场问题复杂而且乱,需要细心排查。
1、新增趋势点不显示,需要在历史库定义中增加该定义点。
2、之前能够正常显示的点突然不能显示。
此时要重点观察任务控制,查看HTC任务是否过载。
3、灵活运用IFIX和THISNODE节点名。
关于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(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & For mat(Me.DTPFromTime.Value, "HH:MM:SS")
'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Form at(Me.DTPEndTime.Value, "HH:MM:SS")
End Sub
2. 查询按扭CmbSearch代码如下:
'开始查询
Private Sub CmbSearch_Click()
'连接自动刷新
Me.vxData1.AutoRefresh = True
'Format函数用于设定时间格式
vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Form at(Me.DTPFromTime.Value, "HH:MM:SS")
vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Forma t(Me.DTPEndTime.Value, "HH:MM:SS")
'设定查询内容
'从数据库中查询符合时间段的数据
Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _ "(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVETI MELAST <= {ts 'QP2'})"
'刷新数据
Me.vxData1.Refresh
Me.vxGrid1.Refresh
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(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & For mat(Me.DTPFromTime.Value, "HH:MM:SS")
'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Form at(Me.DTPEndTime.Value, "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()
'连接自动刷新
Me.vxData1.AutoRefresh = True
'Format函数用于设定时间格式
vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Form at(Me.DTPFromTime.Value, "HH:MM:SS")
vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & Forma t(Me.DTPEndTime.Value, "HH:MM:SS")
'设定查询内容
'从数据库中查询符合时间段的数据
Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _
"(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVETI MELAST <= {ts 'QP2'})"
'刷新数据
Me.vxData1.Refresh
Me.vxGrid1.Refresh
End Sub
以上工作结束后保存,退出。
重新启动IFIX4.0,运行后即可使用。