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监控系统中实现报警记录的存储和查询引言 2#联合泵站供水控制系统主要包括铸机供水控制系统、LF炉及RH炉供水控制系统、4300轧机供水控制系统和平流池控制系统。
采用上位机+PLC网络监控的方式,由上位机、施耐德昆腾系列PLC根据生产工艺组成控制网络系统,监控软件采用Intellution的Ifix。
iFIX提供的图形化的过程信息包括原始数据、计算数据、实时报警、变量字符串、点信息、实时趋势图、历史趋势图和变量状态等大量生产信息,操作人员根据这些信息进行分析和管理,并通过操作界面向数据库写数据,从而实现对现场生产工艺及设备的调节控制。
1 应用背景2#联合泵站铸机供水控制系统采用IFIX软件的报警系统,原设计报警信号只能实时显示,报警和操作记录不能保存,不便于优化操作和故障分析。
系统中由于数据采集量大,运行过程中可能出现大量的报警信息,运行人员不易发现真正的故障点,有时还可能出现忽略、丢失重要报警信息的情况。
因此良好的报警管理系统能及时发现和迅速排除故障,能准确查找故障原因,是系统安全稳定运行的有力保障。
2 解决方法对报警系统进行改造,将开关量变位、模拟量越限等数据变化存入到历史数据库中,然后再通过编写程序查询报警历史。
同时对报警信息进行分类优化,便于运行人员快捷的定位故障,及时采取措施,保证安全稳定生产。
下面就改造中的设计思想和方案进行介绍,并讨论具体实现中的关键技术问题。
2.1 报警记录的存储和查询由于iFIX的“报警历史”功能只能存储实时报警信息,要实现报警信息的存储,需要借助其它工具。
IFIX系统的报警信息可以记录到文本文件中,也可以通过ODBC记录到开放式数据库中,如ACCESS、SQL Server 等。
本次改造选用数据库的方式存储报警记录、运行记录,记录可以长期保存,随时查询并可打印。
2.1.1 IFIX数据库中配置报警信号及报警类型在IFIX 数据库中对需要报警的数据和信号进行配置,设置模拟量的报警值、报警类型,如上限、上上限、下限、下下限、变化率、最小偏差和最大偏差等;设置数字量的报警类型,如变位、闭合和打开等。
关于IFIX历史报警数据(shùjù)存储与查询实例一.ODBC服务(fúwù)的连接开始(kāishǐ)-设置(shèzhì)-控制面板-管理工具-数据源ODBC选用户(yònghù)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图标右键-属性(shǔxìng)vxData对象(duìxiàng)----PROPERTIES VISICONXDATA VXD ATA对象(duìxiàng)提供者:Microsoft OLE DB Provider for ODBC Drivers数据库:DNS名:Myalarm,用户名密码(mì mǎ)选项均空---测试(cèshì)连接-测试连接成功-确定记录源:命令类型: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")'设默认结束(jiéshù)时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置(shèzhì)时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Fo rmat(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & For mat(Me.DTPEndTime.Value, "HH:MM:SS")End Sub2. 查询(cháxún)按扭CmbSearch代码(dài mǎ)如下:'开始(kāishǐ)查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式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")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _ "(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVET IMELAST <= {ts 'QP2'})"'刷新数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub3. 完整的VBA按扭代码如下:'初始化设置(shèzhì)Private Sub CFixPicture_Initialize()'设定(shè dìnɡ)默认开始时间Me.DTPFromDate = DateAdd("d", -1, Now)Me.DTPFromTime = ("00:00:00")'设默认(mòrèn)结束时间Me.DTPEndDate = NowMe.DTPEndTime = Now'设置(shèzhì)时间'vxData1.QP1 = Format(Me.DTPFromDate.Value, "yyyy-MM-DD") & " " & Fo rmat(Me.DTPFromTime.Value, "HH:MM:SS")'vxData1.QP2 = Format(Me.DTPEndDate.Value, "yyyy-MM-DD") & " " & For mat(Me.DTPEndTime.Value, "HH:MM:SS")End SubPrivate Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift A s Long, ContinueProcessing As Boolean)End Sub'开始(kāishǐ)查询Private Sub CmbSearch_Click()'连接自动刷新Me.vxData1.AutoRefresh = True'Format函数用于设定时间格式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")'设定查询内容'从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = "SELECT *FROM FIXALARMS WHERE" & _ "(FIXALARMS.ALM_NATIVETIMEIN >= {ts 'QP1'})AND(FIXALARMS.ALM_NATIVET IMELAST <= {ts 'QP2'})"'刷新(shuā xīn)数据Me.vxData1.RefreshMe.vxGrid1.RefreshEnd Sub以上工作(gōngzuò)结束后保存,退出。
实验五报警存储与查询的应用1. 功能概述2. 工程实例3. 操作步骤3.1 新建工程3.2 报警配置3.3 进入运行系统3.4 历史报警查询4. 注意事项1. 功能概述常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。
组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KVADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。
关系数据库可以为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,读写属性为“只读”。
这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。
变量定义画面如下图一、图二所示:图一定义变量压力图二定义变量流量3.1.3定义报警我们首先定义报警组,在报警组处双击进行报警组对话框,点击“增加”定义两个报警组,分别为“压力报警”、“流量报警”,确认完成报警组的定义,如图三所示:图三报警组定义报警组定义完成后。
第一章IFix3.5报警历史的设置与查询在实际工程中需要对开关量变位,模拟量越限等数据变化存入到历史数据库中,在此称之为报警历史库,然后再通过编写程序查询报警历史。
如何实现报警存入报警历史库呢?本章以ACCESS作为报警历史库,来说明报警历史库的实现过程,并给出实际的报警历史查询代码。
第一节报警历史的设置第一步:创建一个ACCESS类型的数据库,命名为hisdata,路径为:D:\Dynamics\SampleSystem\HistoricalData。
第二步:在ODBC中创建DSN,命名为hisdata。
创建过程如下:1:双击ODBC,出现如图1.1所示对话框。
图1.12:点击添加后,出现如图1.2所示对话框。
图1.23:选择Driver do Microsoft Access (*.mdb)项,点击完成,出现如图1.3所示对话框。
图1.34:输入数据源名hisdata,输入说明“IFIX报警历史库”,然后点击选择,出现如图1.4所示对话框。
图1.45:找到开始创建的Access数据库,点击确定。
出现如图1.5所示的对话框。
图1.56:点击确定完成ODBC配置。
第三步,打开ifix3.5的系统配置在系统配置中选择配置下面的报警,显示如图1.6所示对话框。
图1.6第四步:选择Alarm ODBC Service,并启用,点击修改后显示图1.7对话框。
图1.7第五步:选择报警ODBC服务配置下的配置按钮,显示图1.8对话框。
第六步点击数据库类型右边的浏览按钮,出现图1.9所示对话框。
图1.9选择Access点击确定。
第七步点击图1.8中数据库标识符右边的浏览按钮出现图1.10所示的对话框。
图1.10选择hisdata点击确定。
第八步点击图1.8中的现在创建表,会弹出创建成功的对话框。
点击确定返回图1.7所示的对话框,点击确定,返回图1.6所示的对话框,点击确定,然后点击文件中的保存,保存系统配置。
制丝线IFIX报警改造摘要:我公司制丝车间一区制丝线ifix报警系统的报警模块只有简单的报警功能,对何种原因导致的故障缺乏进一步的信息分析,给操作人员和维护人员故障分析和故障排除造成极大的不便,未充分发挥ifix先进的报警管理功能的优势。
为此,对制丝车间ifx报警系统进行改造,改进措施为:(1)plc子站站点整理和梳理;(2)plc之间的通讯信息改造;(3)阀门故障信息的改造;(4)总线诊断画面改造;(5)恢复ifix的报警一览表功能,并增加报警历史查询的内容。
关键词:plc 网络诊断报警1、系统概述ifix是全球最领先的hmi/scada自动化监控组态软件,提供了生产操作的过程可视化、数据采集和数据监控。
它具备先进的报警管理功能,ifix方便、灵活、可靠、易于扩展的报警系统可报告系统活动及系统潜在的问题,保障系统安全运行。
ifix分布式报警管理提供多种报警管理功能,包括:无限的报警区管理、基于事件的报警、报警优先级、报警过滤功能,以及通过拨号网络的远程报警管理。
另外ifix还可以自动记录操作员操作信息,并作为非关键性报警信息发送,而无需确认。
2、存在问题结合车间使用ifix的多年使用经验,我们发现车间ifix报警系统主要存在以下问题:(1)底层plc与ifix通讯点比较混乱,前期规划不够完善,现行制丝车间监控系统画面与实际设备不能很好的对应起来,需要进行梳理。
(2)同类设备的状态存储方式不够统一,不够规范不便于管理。
(3)设备的故障报警众多,但未按设备所属区域进行分类,经常出现报警信息杂乱等现象不利于操作人员和维护人员的查看判断,有些甚至为误报警。
(4)目前ifix系统上对设备总线上的控制执行元器件(如子站、薄膜阀等)没有较好的监控,无法了解各元器件的运行状况。
(5)一些没有的信息依然存储在上位机服务器中,占用服务器资源,严重影响服务器运行速度。
以上等系统的不足给生产维护工作带来很大的障碍。
为了最大限度地发挥系统和ifix的潜能,及时发现和迅速排除故障,改进一区制丝线的先进的ifix报警管理系统,是保证系统安全稳定运行、保证数据完整性和一致性的有力保障。
IFIX通过Historian实现历史数据归档与查询软件环境:ifixV6.0+Gold_HistorianV7.0+windows7旗舰版X64bit目录1.安装ifix软件 (2)2.安装historian软件 (2)3.安装historian采集器 (4)4.采集器配置-historian collector配置 (5)5.向historian中添加需要归档的变量 (6)6.查看变量是否成功进行历史归档 (7)7.通过ifix组态画面进行历史数据的显示与查询 (8)1.安装ifix软件不做详细说明;2.安装historian软件其它版本安装流程类似,没有截图的步骤,直接就默认就可以了;Historian安装时,勾选accept,点击nextHistorian安装时,选择single server,点击nextHistorian安装时,不用管,点击next直接下一步Historian安装时,填写密码,点击next下一步Historian安装时,选择no,点击next下一步,直到完成安装提示这个时候,点击确定,来完成historian安装3.安装historian采集器没有截图的步骤,直接就默认就可以了;安装historian collector时,勾选accept,点击next下一步安装historian collector时,根据实际需求自己选择,如果只是做一个历史数据的归档与查询功能,只要勾选ifix collector一项就可以了;安装historian collector时,选择存储在historian中,next直到软件安装完成4.采集器配置-historian collector配置先打开ifix项目SCU配置文件,进入到任务配置界面,增加C:\PROGRAM FILES (X86)\GE\IFIX\IHFIXCOLLECTOR.EXE 命令行/Service 并以后台方式启动,具体配置信息见下图,配置完成后保存SCU文件。
iFIX 概述iFIX® 是Proficy 系列软件自动化产品中一个基于Windows 的HMI/SCADA 组件。
iFIX是基于开放的和组件技术的产品,专为在工厂级和商业系统之间提供易于集成和协同工作设计环境。
它的功能结构特性可以减少开发自动化项目的时间,缩短系统升级和维护的时间,与第三方应用程序无缝集成,增强生产力。
iFIX的SCADA 部分提供了监视管理、报警和控制功能。
它能够实现数据的绝对集成和实现真正的分布式网络结构。
iFIX的HMI 部分是监视控制生产过程的窗口。
它提供了开发操作员熟悉的画面所需要的所有工具。
本手册涵盖了以下一些iFIX的基本概念:∙了解有关iFIX结构和功能,请参考系统结构和系统功能等章节∙了解Proficy iFIX WorkSpace,请参考使用Proficy iFIX 工作台章节。
∙了解有关管理节点的知识,请参考管理iFIX 节点章节。
∙如需了解关于电子书的信息,请参阅使用电子书章节。
∙有关iFIX 软件提供的演示系统,请参考使用iFIX演示系统章节。
iFIX 组件iFIX的内部是一个能够提供分布式结构的技术核心。
iFIX 在标准技术(例如,ActiveX、OPC、VBA 和组件对象模型(COM))上构建,它在广域网和Internet 上提供第三方应用程序的简单集成。
iFIX平台可托管许多GE Intelligent Platforms 和第三方应用组件,其中一些如下图中所示。
iFIX 平台iFIX的其中一个重要组件是iFIX 工作台。
这个界面将所有系统组件都组织到一个集成开发环境中(IDE)。
Proficy iFIX 工作台可以存取和操作系统中的所有组件。
Proficy 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 = 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,运行后即可使用。