1、IFIX问题处理IFIX冗余服务器配置IFIX冗余服务器配置首先配置-网络 如图所示添加远程节点名,然后点击配置见如图所示。然后配置-SCADA组态,如图所示,SCADA邻居为SER02然后配置本地启动,见如图所示,本地节点名为SER01,本地逻辑节点名为IFIX最后更改C:WINDOWSsystem32driversetc目录下的hosts文件用记事本打开更改如下图所示其中圈里面的东西为增加的地方,包含两个冗余服务器,五个客户机。至此主服务器的配置就完成了。备服务器配置更改与主服务器类似。只是需要注意SCADA邻居为SER01,本地节点名需为SER02。其他不需要更改。客户机的配置禁用SCA
2、DA支持本地启动需更改为如图所示,本地节点名和本地逻辑节点名均为CL4(以客户机4为例)其他配置和服务器一样,包括网络配置和更高hosts文件。到这里IFIX冗余服务器的系统配置完成.IFIX冗余服务器数据源的切换当客户机与主服务器连接丢失时,系统会自动切换到备用的服务器,达到自动切换的效果,果然主服务器这时候恢复正常,不会自动切换回主服务器(可以自动切换不推荐),此时如果需要切换回去,能够在操作站画面上手动的方式切换。效果图如上图所示,代表此时连接的是SER01的数据源,SER01与SER02都正常。点击中间的按钮可以实现SER01和SER02的手动切换。当主服务器故障时,系统会自动切换到S
3、ER02,如图所示此时代表SER01与该客户机通信故障,接收的是SER02的数据源。当主服务器恢复后不会自动切换回(可以自动切换,但是不推荐,因为IFIX如果是服务器与PLC通信故障是不会达到切换的效果的,此时需要手动切换)手动切换方法:新建一个如图所示的画面(参见系统自带画面LocalAsPrimary.GRF、但是在客户机上需更改)更改的部分为原画面中所有的标签后缀_0更改为_1,且脚本的也要进行相应的修改。这里就解决了冗余服务器手动选择数据源和显示当前连接的服务器的名称的问题历史报警的查询(这里只做出来在客户机上生成的)如图所示效果图步骤:A、ODBC服务的连接在D:CMIFIXHTRD
4、ATA目录下新建一个Access取名为hisdata。mdb 开始-设置控制面板管理工具数据源ODBC 选用户DNS-添加-选 数据源名:hisdata 选数据库名:hisdata.mdb, 文件类型:Access,连接池-禁止B、系统SCU的配置 SCUIFIX-配置报警报警ODBC服务,启动-修改配置:数据库类型:Access 数据库标识符:hisdata 现在创建表:FIXALARMS(默认表名) 其它默认确定C、控件的引用新建画面画面名为ifix_alarm_history1.日期时间控件典型装VB6。0后, 双击选Microsoft date and time picker控件(需注
5、册控件方法为:将该文件拷贝到C:WINDOWSsystem32目录下,然后运行该代码为regsvr32.exe MSCOMCT2。OCX)2个日期控件属性-格式:1dtpShortDate,有效前不打勾.其它默认,2个时间控件-属性格式:2-dtpTime, 有效前不打勾。其它默认2vxData控件(数据管道)IFIX4.0工具箱底部vxData图标右键-属性vxData对象- 提供者:Microsoft OLE DB Provider for ODBC Drivers 数据库:DNS名:Myalarm,用户名 密码 选项均空测试连接-测试连接成功确定 记录源:命令类型:SQL命令应用确定3v
6、xGrid控件(显示)工具箱底部vxGrid图标选控件 vxGrid1-右键-动画-高级高级动画配置-行为-ADORecords-动画打勾 数据源:ifix_alarm_history。vxData1。ADORecords 数据转换:对象D、VBA脚本:初始化设置Private Sub CFixPicture_Initialize()设定默认开始时间Me.DTPFromDate = DateAdd(d, -1, Now)Me。DTPFromTime = (”00:00:00)设默认结束时间Me。DTPEndDate = NowMe。DTPEndTime = NowEnd SubPrivate
7、Sub CFixPicture_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)End Sub查询按钮脚本Private Sub CmbSearch_Click()连接自动刷新Me。vxData1.AutoRefresh = TrueFormat函数用于设定时间格式vxData1.QP1 = Format(Me.DTPFromDate.Value, yyyyMM-DD”) ” Format(Me.DTPFromTime.Value, HH:MM:SS)vxData1。QP2 =
8、Format(Me。DTPEndDate.Value, yyyy-MMDD”) & ” ” Format(Me。DTPEndTime。Value, HH:MM:SS)设定查询内容从数据库中查询符合时间段的数据Me.vxData1.SQLCommand = ”SELECT *FROM FIXALARMS WHERE” ”(FIXALARMS.ALM_NATIVETIMEIN=tsQP1)AND(FIXALARMS.ALM_NATIVETIMELAST = ts QP2) 刷新数据 Me.vxData1.Refresh Me。vxGrid1。RefreshEnd Sub其中黄色部分注意和画面中控件
9、的名称对应,完成后可在任务控制中看有没有数据写入到数据库里面连接状态:连接、记录状态:激活如图所示表示成功记录到数据库中,这里就可以在画面中选择时间,然后点击查询。历史数据时间保存一年。历史库定义里面有一个自动删除旧的数据文件打上勾,然后时间选择多少天,最多200天。然后每天的数据大小需要运行一天后看(GE支持说的没办法通过计算)。冗余服务器历史数据同步。当服务器切换时,客户机的历史趋势仍然能切换。(暂时没办法弄,由于时间关系我这里做的是历史趋势,包括历史报警都存在客户机上。)计算机启动时IFIX自动运行。在IFIX没打开的环境下,启动系统配置配置-本地启动将注销后继续运行与系统引导时启动IFIX勾上。然后进入IFIX后点击工作台用户首选项-常规将按运行模式启动工作台、运行模式下全屏显示勾上然后选择启动画面,选择启动的第一副画面.