iFix的n个经典问题解答
IFIX通讯故障解决思路
很多朋友在用IFIX的时候都遇到过,IFIX通讯故障,也就是画面上显示“”的情况。
在这里,把握个人解决这个问题的思路进行总结,以供大家参考(在此,我只讨论PLC 以外的故障)。
首先,数据由PLC到IFIX的过程数据库结构如下:1.IFIX读取PLC中的数据:I\O驱动器从过程硬件寄存器中读取数据,将数据传入DIT(驱动器影像表)中,SAC从DIT中读取数据,存入PDB(过程数据库)中。
2.IFIX向PLC中写数据:IFIX 写数据到PDB,PDB将数据写入DIT,I\O驱动器从DIT中读取数据写入PLC中。
当我们明白了这个IFIX与PLC通讯的这个过程,我们解决IFIX通讯故障也就变得容易了。
我个人的思路是由下向上逐层检查。
既:检查物理连接,检查驱动程序,检查SAC三个步骤。
一、应用MBE驱动:1.应用”ping”命令检查网络物理连接是否完好。
如果不能”ping”通PLC,请先检查是否为PLC故障,若PLC运行正常,请检查网络连接包括用测线器检查网线制作有没有问题,光电转换器,交换机,光纤等是否存在问题。
2.确认网络连接没有问题后,运行MBE-POWERTOOL,直接选择”DataBlock”块,选择”Statistics”查看当前DataBlock状态。
如果Dtata项显示不是”Good”,请检查” Channel”,” Device”,” DataBlock”的”Enable”复选框是否选中;” Channel”中,主备网卡选择是否正确;” Device”的IP地址是否配置正确,PLC中确实有这些地址;”DataBlock”块中开始和结束地址是否正确;打开的*.mbe文件与IFIX节点名是否一致;Options->Setup->Default Path中的节点名和路径是否配置正确等问题。
3.确认块状态中的”Data”项为”Good”后,证明I\O驱动程序不存在问题。
打开IFIX工作台,点击”任务控制”按钮,选择SAC项,如图点击”停止”按钮,几秒钟后点击”启动”按钮。
iFIX常见问题问答3
iFIX常见问题问答(你留言我回答)有这方面的问题留个话(三)作者: lostCity发表时间:2006-12-31iFIX常见问题问答(你留言我回答)有这方面的问题留个话(三)很久没更新了,这里新开一页,那个让那个恶心见鬼的家伙实在让人受不了。
有问题还是这里说:)常见问题问答(一):[url]/d-64685.html[/url]常见问题问答(二):[url]/d-70268.html[/url][lostCity]2007-6-5 0:34 ------------- 011 楼首先抱歉我也不确定是怎么回事!按理说数据库数据状态发生了变化应该表示数据已经跟新成功,是不是si7的驱动配置中有什么配置选项没有注意的?检查一下有没有可疑的吧。
另外也可以选择使用ai或di允许输出方式操作,看能不能成功。
[jhb] 评论于2007-06-04 19:46请教一个问题,我的IFIX与PLC用的是SI7通讯,现在在工控机上看一切都正常,在IFIX里,所有的输入信号,包括DI、AI都可以上来,可以看到;但所有的输出信号如DO、AO都出不去,就是说,在IFIX的画面里操作后,PLC里的状态都不变(数据库里的状态变了),怎么回事呢?(模拟量是在画面上用中间点设的)[LostCity]2007-5-15 1:39 ------------- 010 楼ADODB.Connection是ado的一个子集,既然提示未定义那就是未定义吧哈:)。
不过可以把相同的脚本拷贝到别处看看能否正常运行,如果能运行就算可以说明三个问题了,如下:1、你的脚本是没问题的2、可能是你的系统有问题3、即使不是系统有问题那么也可能是你的组件注册有问题哈,真是误人子弟的人,不说了。
睡觉去,感谢你们还记得这里![ifix] 评论于2007-05-14 21:38LOSTCITY:你好在ifix中我把数据写到access中时,执行到Dim conODBC As ADODB.Connection 时提示用户定义类型未定义是怎么回事啊谢谢[LostCity]2007-5-15 1:32 ------------- 009 楼其实你的水平已经远远超越了我,问我这个从来没有想过的问题。
Prificy软件问题与解答
Prificy软件问题与解答1、安装时选网络还是独立,如果选择了独立还能改为网络吗:可以,但要修改配置的启动和安全性,并保存配置,重新启动,如果安全不能进去,可以先手动登录,独立不与网络上的其他软件交换数据,选择网络时并且做冗余时需要配置节点和逻辑节点(如果是单台服务器可以不用配逻辑节点,客户端只配远程节点就可以了),画面连时选择逻辑节点2、装ifix5时historia3.1要装吗:可以不装3、winstaller3.0要装吗,不装行吗:可以不装,需要时再单独装4、webspace与portal区别:基于WEB的scada,不需要转换画面;基于WEB的hmtl,需要转换画面,较慢,可以编辑页面5、historia能和sql server2008配套吗:配套,装ih时装sql express6、冗余如何实现,需要购买单独的授权吗:要单独买(选项),5.0后狗里限制,同步报警、实时数据库,节点选网络7、一个开发、一个运行,一个搞好后,另一个如何配置:直接复制工程,修改相关配置,启动项,安全性等8、工程如何移植到另一台电脑中,要修改那些东西:直接将项目目录(不要在C盘)拷贝到另外的电脑,再修改配置的项目路径,然后修改启动节点及scu配置文件、安全性等9、画面可以导出(不能实现),能导入吗:画面可以直接复制,不用导入导出,导出功能是转换为Portal网页文件10、ifix标准版具有网络互联功能吗:不具有,要用PLuse网络版,专业版具有标签签名、配方等高级功能ifix标准版能和另外一台电脑的ih相连吗:不可以,它不具有网络功能,且ifix标准版不能和远程的数据库SQL连接11、启动时总出现报警益处提示,如何解决解决办法:打开scu---报警配置—高级点击队列配置,将数值改最大3276712、新建ifix工程方法截图:启动ifix首项打开SCU配置画面, 点击新建配置-scada, scada支持启动配置-路径,根目录选择路径—点击更改根目录—粘贴默认安装根目录---点击更改项目---点击是点击确定---点击是点击否点击创建全部点击继续,再配置网络功能配置本地启动的节点等,保存配置,确认为启动配置启动ifix,登录Admin,再打开SCU刚才的配置文件,配置安全性—配置,更改安全路径并启动更改安全性—自动登录,更改节点名,及自动登录用户,保存安全性配置配置SCU的任务,加工作台自动启动保存配置启动生成的工程注意:在启动别的节点名的工程时,需要再修改scu的安全性(配置及自动启动)及本地启动配置;scu只是个工程新建和配置工具,可以修改和打开别的工程配置文件,但安全性和本地启动需要重新修改。
ifix技巧
IFIX技巧(之一)1、从后台调度中访问或修改全局变量的代码描述:在iFIX中使用调度要后台运行的时候需要启动FixBackgroundServer程序,而该程序实际上是启动了独立于Workspace的进程,所以在后台调度中不能直接访问全局变量。
下面的例子代码描述了怎样访问的方法:" First get a pointer to the Application object in the WorkspaceDim WrkSpcApp As ObjectSet WrkSpcApp = GetObject("", "Workspace.Application")" Get a pointer to the Variable object called Variable1 in the User globalsDim TargetVar As ObjectSet TargetVar = WrkSpcApp.Documents("User").Page.FindObject("Variable1")" Set the current value in the variable object to a 1TargetVar.CurrentValue = 12、脉冲输出示例Dim PauseTime, StartCloseDigitalPoint "Fix32.FIX.DDD.F_CV"PauseTime = 0.8 " 设置暂停时间。
Start = Timer " 设置开始暂停的时刻。
Do While Timer < Start + PauseTimeDoEvents " 将控制让给其他程序。
LoopOpenDigitalPoint "Fix32.FIX.DDD.F_CV"3、显示通讯状态Is there a way to view communication status of the driver without using Mission Control? ResolutionUsing a digital input block reading a hardware register, the A_cualm field will be utilized. Chain the DI block to an event action block to a digital output tag using the SIM driver. In the event action block use the following script:IF the A_cualm =comThen set DO =1Else set the DO=0A data link can be made to the Sim block. The value of this block will determine the status of the communcation.4、用VBA脚本打开和关闭调度为了打开和关闭调度,必须用下列方法:打开一个名字为“ddd”的调度:Application.Documents.Open "C:\Dynamics\pdb\ddd.evs"关闭一个名字为“ddd”的调度:Application.Documents("ddd").Close注意:关闭调度时不用扩展名 .evs 。
iFIX启动时的几种常见问题及解决方法
iFIX启动时的几种常见问题及解决方法第一个现象:启动iFI某,出现下述提示:故障原因:出现上面的提示是因为打开的工程目录与备份时的目录不同。
解决方法:最简单的就是将备份恢复到原来的路径中。
可以通过下面的方法打开SCU看到路径。
如果想恢复到其它的路径中,按下面的方法做:1)打开下面这个界面,运行SCU:2)打开你备份的SCU文件:3)我的这个例子中,原来的程序是放在F盘中,现在将备份恢复到了D盘。
因此,在SCU中的路径中看到的是F盘4)修改项目路径为D:\\IFI某\\某HUA,注意,不要修改根目录和语言的路径:上图中只修改了项目的路径。
5)点下面的更改项目按钮,提示如下图:选否。
保存SCU。
第二种现象:运行工程后,提示如下:如果点确定后,再运行,会提示,点确定后,再一次点,则提示。
故障原因:出现这个提示,很多人认为是没有启用安全。
其实不是这样的,工程的安全如果备份前是启用的,备份后也是启用的。
真正的原因是当前打开的工程的安全配置路径和备份的工程安全配置路径不相同。
安全配置和SCU是两个完全不同的应用程序,安全配置是保存在ATCOMPAT.UTL和某TCOMPAT.UTL中的,因此通过修改SCU的工程路径是不能修改到这两个文件的。
要手动修改安全配置路径。
通过下图可以看出,直接打开工程的SCU,安全配置是灰色的,不能修改。
如果运行iFI某,又提示安全未启用,进不了安全配置。
解决方法:最简单的当然还是将备份恢复到原来的路径中。
如果恢复到了其它路径中,按下面的方法解决。
1.随便新建个工程,不要用演示系统和iFI某自带的工程(原因下面再说),进入SCU配置中打开你的工程的SCU文件,进入安全配置,会看到下图:F:\\AAA\\LOCAL是我随便建的一个空工程。
2.修改安全路径和备份路径为你要打开工程的LOCAL路径,启用和禁止不用管,你原来的工程是什么,会自动调整。
我的工程放在D:\\IFI某\\某HUA下。
最新ifix经典问题回答
i f i x经典问题回答iFIX经典问题问答1:iFIX中如何使用vba开启和停止wsqlodc和alarmsODBC?DescriptionThe ability to stop or start the SQL task, wsqlodc, and to pause or continue the alarms toODBC task used to only be available by launching Mission Control and manually co ntrolling them.The ability to perform this control programmatically using VBA was added as part of a SIM foriFix 2.5. The function calls to allow this are not widely documented and are shown be low: -ResolutionDeclare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Long'Turns on a SQL task. The cmd$ parameter is the command line passed to the SQL ta sk'Return of 0 is a success. Current logged in user must have security rights to turn'on/off SAC. If a non-zero error code is returned, you can use the err2str'utility in the fix base directory to translate the error to a stringDeclare Function TurnOffSqlTask Lib "missionvba" () As Long'Turns off a SQL task. Return of 0 is a success. Current logged in user must'have security rights to turn on/off SAC. If a non-zero error code is returned,'you can use the err2str utility in the fix base directory to translate the error to a string Declare Function PauseAlarmODBC Lib "missionvba" () As Long'Pauses the AlarmODBC task. Return of 0 is a success. Current logged in user does NOT'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging "'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configur ation'Utility.Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long'Resumes the AlarmODBC task. Return of 0 is a success. Current logged in user doe s NOT'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging "'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configur ation'Utility.'All of these functions will block until the request is completed.2:iFIX如何使用vba开启和停止基于时间和事件的调度?Description:This solution shows how to start and stop a time-based or event-based schedulerunning in the background.Resolution:STOP / START a EVENT BASED SCHEDULETo Start:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub3:iFIX如何使用vba进行网络打印机打印?Description:The following is an example of printing an Excel Document to a Network Printer or a printer other than thedefault printer on the machine.Dim objXL As ObjectDim myDoc As ObjectSet objXL = CreateObject("Excel.Application")Set myDoc = objXL.Workbooks.Open("C:\testfile.xls", , True)myDoc.Printout copies:=1, preview:=False, ActivePrinter:="'\\SERVER\PRINTER", printtofile:=False, collate:=TruemyDoc.CloseSet objXL = NothingSet myDoc = NothingReferencesIf this script is used in a background schedule with FixBackgroundServer configured t o run as a Service, the Fixservice must run under a user account that has printers defined. See KnowledgeBase Article i013417 for moreinformation on this configuration.The Printout command can be used for other document types (Word, PowerPoint, etc) , however different syntaxis required, refer to for other examples.4:iFIX报警状态代码以及意义?Description:FIX displays alarm status codes for each alarm in the Alarm Summary Link. What is t he meaning of each of these codes?ResolutionPriority --> Alarm Type --> Description1 --> COMM --> Communication Error ("BAD" value)1 --> OCD --> Open circuit detected1 --> OVER --> Over Range1 --> UNDER --> Under Range1 --> ERROR --> Any Statistical Data block alarm2 --> CFN --> Change from normal alarm (digital blocks only)2 --> COS --> Change of State alarm (digital blocks only)2 --> HIHI --> Block in HIHI alarm state2 --> LOLO --> Block in LOLO alarm state3 --> RATE --> Value exceeds rate-of-change setting3 --> HI --> Block in HI alarm state3 --> LO --> Block in LO alarm state4 --> DEV --> Deviation Alarm5 --> OK --> Block in normal state5:如何禁止和使能7X驱动标签点(对驱动自动禁止特别有用)?Dim opcDriver As New OPCDrv.OPCServerDim objDriver As ObjectDim strDRVAcronym As StringDim strProgId As String''Variables for GetChannelDim lngNumChannels As LongDim lngChanHandlesDim strChanNames''Variables for GetDevicesDim lngNumDevices As LongDim lngDeviceHandlesDim strDeviceNames''Variables for GetDataBlocksDim lngNumDataBlocks As LongDim lngDataBlockHandlesDim strDataBlockNamesDim i As IntegerDim j As IntegerDim lngErrorsDim myvar As LongDim readEnable'strDRVAcronym = InputBox("Please enter the driver''s three letter acronym?" & vbC rLf & "(For Example:Enter ABR for the ABR Driver)", "What Driver are you using?")'strProgId = "Intellution." & strDRVAcronym & "drv"'strProgId = "Matrikon.OPC.Simulation.1"'Set objDriver = CreateObject(strProgId)lngNumChannels = opcDriver.GetChannels(lngChanHandles, strChanNames)''Build Variables for SetPropertyData function.lngHandle = lngDataBlockHandles(0)varProperties = "Enabled"varProperyData = "1"opcDriver.GetPropertyData lngChanHandles(1), varProperties, readEnable'对服器1置真If readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngChanHandles(1), varProperties, varProp eryData)End IflngNumDevices = opcDriver.GetDevices(lngChanHandles(1), lngDeviceHandles, str DeviceNames)lngNumDataBlocks = opcDriver.GetDataBlocks(lngDeviceHandles(0), lngDataBlock Handles, strDataBlockNames)lngHandle = lngDataBlockHandles(0)'读工作组opcDriver.GetPropertyData lngDeviceHandles(0), varProperties, readEnableIf readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngDeviceHandles(0), varProperties, varPr operyData)End If'处理工作块opcDriver.GetPropertyData lngDataBlockHandles(0), varProperties, readEnableIf readEnable = "0" ThenFor i = 0 To 1lngErrors = opcDriver.SetPropertyData(lngDataBlockHandles(i), varProperties, varProperyData)Next iEnd IfSet opcDriver = Nothing6:iFIX_如何使用脚本实现驱动(7x)的启动和停止?DescriptionThe following solution explains how to Start and Stop a 7.x driver through VBA code. This example usesthe ABR driver. To implement this with another 7.x driver, change the ABR to the thr ee letter acronym ofthe other driver and switch the reference to that driver.ResolutionThis code will only work with 7.x drivers. If you want to implement this is code in a n ew picture youneed to set a reference to Intellution ABRDrv OPC Server 7.20 Library. To set a refer ence, use the following steps:1) On the Tools menu in the VB Editor choose References.2) Select the Intellution ABRDrv OPC Server 7.20 Library from the list.Add two command buttons to your picture and name them cmdStart_Click and cmdSt op_Click.Then paste the following code into the picture:Private Sub cmdStart_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StopSet ABRDriver = NothingEnd SubPrivate Sub cmdStop_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StartSet ABRDriver = NothingEnd Sub7:iFIX_如何使用脚本实现驱动(6x)的启动和停止?DescriptionThis articles describes how to control (start or stop) the 6.x drivers through VBA, Co mmand Script,or DOS rather than in Mission Control.ResolutionThe attached application DCTRL61.EXE enables you to do this. Below are the usage instructions.Usage: DCTRL command driver acronym delay [sleep]where command is:START - start the driverSTOP - stop the driver from pollingSTOP_EXIT - stop polling and exitSLEEP - set new sleep time (period)STATUS - displays current valuesDELAY -Wait a Number of milliseconds before executing this command ( 1000 = 1 second). The the dctrl61.exe must be located in the FIX32 or Dynamics directory. The comma nd and driveracronym must be in ALL CAPS.Example from the DOS prompt: dctrl60 START MBRExample from a iFIX VBA: Shell c:\fix32\dctrl60 "START MBR"Example from a FIX32 script: Runtask c:\fix32\dctrl60 "START MBR"8:iFIX_脚本进行调度的启动和关闭方法?DescriptionThis solution shows how to start and stop a time-based or event-based schedule running in the background.ResolutionSTOP / START a EVENT BASED SCHEDULETo Start:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub9:iFIX_excel报表实现的方法?Private Sub CommandButton1_Click()'注释: 1。
IFIX问题处理
IFIX冗余服务器配置IFIX冗余服务器配置 (2)IFIX冗余服务器数据源的切换 (5)历史报警的查询(这里只做出来在客户机上生成的) (7)历史数据时间保存一年。
(12)冗余服务器历史数据同步。
(12)当服务器切换时,客户机的历史趋势仍然能切换。
(12)2 1................................................................................................... 自动运行。
IFIX计算机启动时.IFIX冗余服务器配置首先配置—网络如图所示添加远程节点名,然后点击配置见如图所示。
然后配置-SCADA组态,如图所示,SCADA邻居为SER02然后配置—本地启动,见如图所示,本地节点名为SER01,本地逻辑节点名为IFIX最后更改C:\WINDOWS\system32\drivers\etc目录下的hosts文件用记事本打开更改如下图所示其中圈里面的东西为增加的地方,包含两个冗余服务器,五个客户机。
至此主服务器的配置就完成了。
备服务器配置更改与主服务器类似。
只是需要注意SCADA邻居为SER01,本地节点名需为SER02。
其他不需要更改。
客户机的配置禁用SCADA支持为例)4(以客户机CL4本地启动需更改为如图所示,本地节点名和本地逻辑节点名均为其他配置和服务器一样,包括网络配置和更高hosts文件。
到这里IFIX冗余服务器的系统配置完成。
IFIX冗余服务器数据源的切换当客户机与主服务器连接丢失时,系统会自动切换到备用的服务器,达到自动切换的效果,果然主服务器这时候恢复正常,不会自动切换回主服务器(可以自动切换不推荐),此时如果需要切换回去,能够在操作站画面上手动的方式切换。
效果图如上图所示,代表此时连接的是SER01的数据源,SER01与SER02都正常。
点击中间的按钮可以实现SER01和SER02的手动切换。
《iFix培训资料》课件
第三分:常见问题解答
1
iFix常见问题及解决方法
找到问题的答案,学习如何解决常见的iFix使用问题。
2
iFix与其他软件的兼容性
了解iFix与其他软件的集成和兼容性,确保顺利的工作流程。
3
iFix的错误代码及解决方法
学会识别和解决iFix可能出现的错误代码,确保系统稳定运行。
第四部分:其他相关知识
iFix的未来发展趋势
探索iFix的未来前景,了解可 能的技术和市场趋势。
iFix的安全性问题探讨
研究iFix系统的安全性,了解 如何保护数据和网络。
iFix的进阶使用技巧
深入了解iFix的高级功能和编 程技巧,提高工作效率。
iFix的历史和发展
追溯iFix过去的里程碑,了 解它是如何不断发展和改 进的。
第二部分:使用iFix
如何使用iFix
掌握iFix的基本操作和功能, 轻松开始使用它来解决您的 问题。
iFix的界面介绍
深入了解iFix的用户界面,探 索其友好的设计和易于使用 的功能。
iFix的主要功能
发现iFix的核心功能,包括数 据采集、图形化展示和报警 通知等。
《iFix培训资料》PPT课件
iFix培训资料PPT课件将带您全方位了解iFix,包括简介、使用方法、常见问 题解答和其他相关知识。让我们一起开始这场精彩的探索之旅吧!
第一部分:iFix简介
iFix概述
探索iFix的功能和特点,了 解为什么它成为了首选的 解决方案。
iFix的应用场景
从工业自动化到能源管理, 发现iFix在不同领域的广泛 应用。
iFix若干个经验总结
要的数据,如果有则结束循环,但有些时候通讯状态不是很好,数据返回比较慢,甚至 是严重超时,结果循环帱无限期的进行下去,CPU被占满,绻统假死,他改用别的方滕 后,问题解决。 如果时间间隔设置的比较短,即使代码中溡有循环结构,有些操作也会导致运行时间超 过定时器的间隔时间,如果这个超时是可接受的正常情况,那么帱要滨意另一个问题, 那帱是定时器的QueueEvents幞性。它决定了当定时器某一次触发的脚本还溡有执行完 毕,下一次触发时间帱到时了,这种性况下,新的事件是排队等候,还是被丢弃掉。默 认值是False,如果希望它们“一个都不能帑”,那么帱要把这个幞性改为True。但你 必须保证这种超时只是偶然发生,否则,这个队帱会也排越长,直到崩溃。
这个是API函数: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) 把这个填入到脚本里边帱可以了。
iFix__常见问题汇总
Proficy HMI/SCADA – iFix常见问题汇总Proficy HMI/SCADA – iFix1 Standard/Plus/Professional版本说明2 通讯正常,但是画面和数据库一些或是所有标签显示问号3 禁止报错对话框4 安装iFIX并且插上狗以后,启动iFIX,仍然以运行模式启动5 iFIX 2.6更换硬件狗以后,不能检测到硬件狗6 做趋势图的显示的时候,历史库为Proficy Historian,而不是iFIX的历史数据库7 直接使用VisiconX查询Proficy Historian的历史数据8 Windows XP中,安装iFIX之后,重新启动计算器,新建用户:FixIOUser9 数据库中,如何计算点数10 I/O驱动通讯不正常或是无法正常通讯11 iFIX PDB中添加数据块地址时,出现“无法加载驱动映像表”错误信息。
12 iFix提供哪些方式与关系数据库连接相连?13 PLUS 版本与CLIENT 版本的区别14 iFIX数据连接精度不准的解决方法15 iFIX的画面转换为Portal16 PDB作为DDE Server,DDE Client 获得数值,小数位为两位17 运行状态,在画面中修改标签的报警范围18 硬件狗能够检测到,但仍然以运行模式运行/ 运行时可检测到硬件狗,但是使用iKeyDiag.exe检测不到狗的信息19 基于时间的调度没有在设定的时间点触发,有几秒或是几十秒的延时20 全局变量无法在后台运行的调度中使用21 AlarmODBC中,字段alm_timein的含义22 数据库的值显示为问号,但是驱动器收发状态正常23 驱动无法连接硬件24 Error:The license didn‘t have Historian Collect function25 外部程序访问iFix中的实时报警信息26 iFix启动错误:应用要求32 位扩展27 过滤iFIX 中出现的错误28 报警一览控件(Alarm Summary)最多可以设置的过滤条件29 抑制通讯报警(COMM)30 在多显示器上,全屏显示画面31 iFIX数据库量程转换无法实现。
IFix学习问题
1、软件分辨率问题,怎么样才能解决笔记本分辨率和台式机分辨率问题。
2、打开一个工程项目后,需要再打开另外一个项目,怎么办?3、服务器端和客户机端区别是什么?客户机(工作站)怎么连接服务器的。
4、怎么样增加flash控件,增加位图,且可以改变颜色的,5、图片旋转专家要选择数据源?6、线条粗细怎么调整?7、火灾报警系统,怎么报警?调度里面,模拟量数据大小的报警,弹出画面标签组,8、怎么样对多个组件进行操作,比如说车道指示器,有多个,怎么样才能不需要一个个点击那个打开画面专家就可以操作的呢?9、工具栏上的“变量“怎么用法?10、用户管理和报表语言。
11、数据显示方面,12、SIM IO地址10和10:1区别13、施耐德PLC内存0 开头的数字量输出中间两%m1 开头的数字输入%i3 开头的模拟两输入%iw4 开头的模拟两输出和中间两%mwEbool 和外面通信的,bool内部使用。
历史数据库先在历史趋势定义中把变量添加好在任务控制中将htc 启动系统配置应用中任务配置把htc_scan添加好。
调度系统配置应用中任务配置把fixbackgroud添加好。
调度,报警,基于事件项中添加变量调度属性改为后台运行状态为激活即可。
服务器和客户端客户端在system32\drivers\etc\hosts 中把服务器的ip 和节点改好,系统配置应用里面把网络配置登陆安全应用配置启动,在全局变量中添加3个变量用户首选项:常规,环境保护,需要配置。
硬件狗,先插上狗,再安装软件。
先装ifix ,再装授权。
阙值表:能改变颜色。
写值不能写到group上的要写到group以下层的rect方格和其他的取值在画面上显示而取前景色2种方式Group 中直接在group中动画在高级动画产生的动画名称为AnimateForegroudColor Rect74 等图形中则直接在图形中动画名称为Lookup时间定义:MyDate = Now()MyMonth = Month(MyDate)MyDay = Day(MyDate)MyHour = Hour(MyDate)MyMinute = Minute(MyDate)MySecond = Second(MyDate)StartTime = "2000" & "-" & MyMonth & "-" &MyDay - 1 & " " & "00:00:00"EndTime = "2000" & "-" & MyMonth & "-" &MyDay - 1 & " " & "23:00:00"Private Sub CommandButton1_Click()WriteValue "1", "FAN_ZH" 为sim内部变量user.fan_z.CurrentValue = 1 为全局变量Historian 访问方式:1、excel 宏2、图表3、vba 4、ole db。
iFix若干个经验总结
这个是API函数: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) 把这个填入到脚本里边帱可以了。
长,那溡问题,这样是唯一正确且简便的方滕。但如果你设置的延时间隔比较帏,如 3秒以内,甚至是毫秒级的,那么这个方滕帱会产生比较严重的误差。因为StartTime幞 性的时间纾度只达到秒级,也帱是说,实际的运行效果还是会有一定的误差,当然,这 个误差最大不会超过1秒,所以一般来说对于5秒以上的延时设置,这个误差可以忽略。 但如果延时设置是2秒,然后产生了接近1秒的误差,这帱成问题了,误差率帆近50% 啊!如何解决此繻问题呢?有办滕,只是稍复杂一点。 例如,我们希望做到这样一个效果——有一个按钮对蹡(名为cmd1),当用鼠标点 击这个按钮时,按钮消失不见,2秒钟之后又出现。也帱是说在点击的时候把按钮的 Visible幞性设为False,并且启动一个定时器控件,2秒之后在定时器的OnTimeOut事件 代码中,再把cmd1的Visible幞性设为True。 如何比较纾确地实现这2秒的时间间隔呢?具体做滕是:帆定时器的Interval幞性 设为100毫秒,定义一个模块级变量intTimes,定时器每触发1次,这个变量的值帱增加 1,定时器被触发20次后,变量的值为20,总时间正好是2秒。代码如下:
IFIX历史趋势图问题
IFIX历史趋势图问题第一篇:IFIX历史趋势图问题IFIX 历史趋势图起始时间问题解决方案IFIX演示工程上的趋势图功能强大及使用,一般在做工程时会借鉴里面的画面及控件。
简单的把画面拷贝到新的工程总会出现很多问题,功能不能实现,VBA脚本报错等问题。
先做一个工程借用演示工程的趋势图出现一个起始时间不能设置的问题,添加历史曲线后只能看最新的曲线,看前几天曲线时要一点一点的往前翻,而不能直接选择时间查看当天。
实例所带的是VBA的一个窗口,使用下拉框控件,该空间显示为short的日期,在该处选择日期,在演示工程中使用很好,拷贝到新工程就不可以了,而且报错。
先讨论一下该日期的来源:我们做历史数据时可以设置保存数据格式4小时,8小时,24小时等。
相应历史数据文件会保存到..HATDATAFIX文件夹中。
然后通过FindHistoricalFiles函数进行查找,该函数会自动查找..HATDATAFIX文件夹下的文件名称,读取文件名提取日期保存到变量中赋值给日期选择下拉列框。
演示系统函数会默认读取安装模块所带默认工程中的数据。
当新建工程是工程文件可能会改变。
会发现下拉列框中没有实际保存的数据。
而且FindHistoricalFiles函数在演示系统中实在project_user的modhistoricalFiles模块中进行定义的,想正确使用必须从演示系统中导出,在新系统中导入并且修改,较为繁琐。
如该函数正确使用,会发现历史文件越来越多,函数读取的文件名称越多,下拉列框的数据也会越来越多,不方便操作解决方案:1.在CFixPicture_Initialize()过程中将图片对象(Chart Object)起始时间srtChartStartDT=FindHistoricalFiles(“THISNODE”)(0),修改为srtChartStartDT=NOW, 2.日期选择控件使用DTPicker代替下拉列框做为趋势图时间选择。
ifix经典问题回答-16页word资料
iFIX经典问题问答1:iFIX中如何使用vba开启和停止wsqlodc和alarmsODBC?DescriptionThe ability to stop or start the SQL task, wsqlodc, and to pause or continue the alarms toODBC task used to only be available by launching Mission Control and manually controlling the m.The ability to perform this control programmatically using VBA was added as part of a SIM for iFix 2.5. The function calls to allow this are not widely documented and are shown below: -ResolutionDeclare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Long'Turns on a SQL task. The cmd$ parameter is the command line passed to the SQL task'Return of 0 is a success. Current logged in user must have security rights to turn'on/off SAC. If a non-zero error code is returned, you can use the err2str'utility in the fix base directory to translate the error to a stringDeclare Function TurnOffSqlTask Lib "missionvba" () As Long'Turns off a SQL task. Return of 0 is a success. Current logged in user must'have security rights to turn on/off SAC. If a non-zero error code is returned,'you can use the err2str utility in the fix base directory to translate the error to a stringDeclare Function PauseAlarmODBC Lib "missionvba" () As Long'Pauses the AlarmODBC task. Return of 0 is a success. Current logged in user does NOT'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging"'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration'Utility.Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long'Resumes the AlarmODBC task. Return of 0 is a success. Current logged in user does NOT'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging"'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration'Utility.'All of these functions will block until the request is completed.2:iFIX如何使用vba开启和停止基于时间和事件的调度?Description:This solution shows how to start and stop a time-based or event-based schedule running in the background.Resolution:STOP / START a EVENT BASED SCHEDULETo Start:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub3:iFIX如何使用vba进行网络打印机打印?Description:The following is an example of printing an Excel Document to a Network Printer or a printer other than thedefault printer on the machine.Dim objXL As ObjectDim myDoc As ObjectSet objXL = CreateObject("Excel.Application")Set myDoc = objXL.Workbooks.Open("C:\testfile.xls", , True)myDoc.Printout copies:=1, preview:=False, ActivePrinter:="'\\SERVER\PRINTER", printtofile:= False, collate:=TruemyDoc.CloseSet objXL = NothingSet myDoc = NothingReferencesIf this script is used in a background schedule with FixBackgroundServer configured to run as a S ervice, the Fixservice must run under a user account that has printers defined. See KnowledgeBase Article i0134 17 for moreinformation on this configuration.The Printout command can be used for other document types (Word, PowerPoint, etc), however different syntaxis required, refer to for other examples.4:iFIX报警状态代码以及意义?Description:FIX displays alarm status codes for each alarm in the Alarm Summary Link. What is the meaning of each of these codes?ResolutionPriority --> Alarm Type --> Description1 --> COMM --> Communication Error ("BAD" value)1 --> OCD --> Open circuit detected1 --> OVER --> Over Range1 --> UNDER --> Under Range1 --> ERROR --> Any Statistical Data block alarm2 --> CFN --> Change from normal alarm (digital blocks only)2 --> COS --> Change of State alarm (digital blocks only)2 --> HIHI --> Block in HIHI alarm state2 --> LOLO --> Block in LOLO alarm state3 --> RA TE --> Value exceeds rate-of-change setting3 --> HI --> Block in HI alarm state3 --> LO --> Block in LO alarm state4 --> DEV --> Deviation Alarm5 --> OK --> Block in normal state5:如何禁止和使能7X驱动标签点(对驱动自动禁止特别有用)?Dim opcDriver As New OPCDrv.OPCServerDim objDriver As ObjectDim strDRVAcronym As StringDim strProgId As String''Variables for GetChannelDim lngNumChannels As LongDim lngChanHandlesDim strChanNames''Variables for GetDevicesDim lngNumDevices As LongDim lngDeviceHandlesDim strDeviceNames''Variables for GetDataBlocksDim lngNumDataBlocks As LongDim lngDataBlockHandlesDim strDataBlockNamesDim i As IntegerDim j As IntegerDim lngErrorsDim myvar As LongDim readEnable'strDRV Acronym = InputBox("Please enter the driver''s three letter acronym?" & vbCrLf & "(For Example:Enter ABR for the ABR Driver)", "What Driver are you using?")'strProgId = "Intellution." & strDRV Acronym & "drv"'strProgId = "Matrikon.OPC.Simulation.1"'Set objDriver = CreateObject(strProgId)lngNumChannels = opcDriver.GetChannels(lngChanHandles, strChanNames)''Build Variables for SetPropertyData function.lngHandle = lngDataBlockHandles(0)varProperties = "Enabled"varProperyData = "1"opcDriver.GetPropertyData lngChanHandles(1), varProperties, readEnable'对服器1置真If readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngChanHandles(1), varProperties, varProperyData) End IflngNumDevices = opcDriver.GetDevices(lngChanHandles(1), lngDeviceHandles, strDeviceName s)lngNumDataBlocks = opcDriver.GetDataBlocks(lngDeviceHandles(0), lngDataBlockHandles, str DataBlockNames)lngHandle = lngDataBlockHandles(0)'读工作组opcDriver.GetPropertyData lngDeviceHandles(0), varProperties, readEnableIf readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngDeviceHandles(0), varProperties, varProperyData) End If'处理工作块opcDriver.GetPropertyData lngDataBlockHandles(0), varProperties, readEnableIf readEnable = "0" ThenFor i = 0 To 1lngErrors = opcDriver.SetPropertyData(lngDataBlockHandles(i), varProperties, varProperyD ata)Next iEnd IfSet opcDriver = Nothing6:iFIX_如何使用脚本实现驱动(7x)的启动和停止?DescriptionThe following solution explains how to Start and Stop a 7.x driver through VBA code. This examp le usesthe ABR driver. To implement this with another 7.x driver, change the ABR to the three letter acro nym ofthe other driver and switch the reference to that driver.ResolutionThis code will only work with 7.x drivers. If you want to implement this is code in a new picture y ouneed to set a reference to Intellution ABRDrv OPC Server 7.20 Library. To set a reference, use the following steps:1) On the Tools menu in the VB Editor choose References.2) Select the Intellution ABRDrv OPC Server 7.20 Library from the list.Add two command buttons to your picture and name them cmdStart_Click and cmdStop_Click.Then paste the following code into the picture:Private Sub cmdStart_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StopSet ABRDriver = NothingEnd SubPrivate Sub cmdStop_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StartSet ABRDriver = NothingEnd Sub7:iFIX_如何使用脚本实现驱动(6x)的启动和停止?DescriptionThis articles describes how to control (start or stop) the 6.x drivers through VBA, Command Script,or DOS rather than in Mission Control.ResolutionThe attached application DCTRL61.EXE enables you to do this. Below are the usage instructions. Usage: DCTRL command driver acronym delay [sleep]where command is:START - start the driverSTOP - stop the driver from pollingSTOP_EXIT - stop polling and exitSLEEP - set new sleep time (period)STA TUS - displays current valuesDELAY - Wait a Number of milliseconds before executing this command ( 1000 = 1 second).The the dctrl61.exe must be located in the FIX32 or Dynamics directory. The command and driver acronym must be in ALL CAPS.Example from the DOS prompt: dctrl60 START MBRExample from a iFIX VBA: Shell c:\fix32\dctrl60 "START MBR"Example from a FIX32 script: Runtask c:\fix32\dctrl60 "START MBR"8:iFIX_脚本进行调度的启动和关闭方法?DescriptionThis solution shows how to start and stop a time-based or event-based schedule running in the bac kground.ResolutionSTOP / START a EVENT BASED SCHEDULETo Start:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub9:iFIX_excel报表实现的方法?Private Sub CommandButton1_Click()'注释: 1。
IFX新建注意问题
IFX问题08.12.22
1.当ifix拷贝到新电脑上时,不用先急着删之前的工程,应该先在SCU中配置
本地启中修改本地节点名跟组态文件路径.
a)本地节点名: 为scu名字一样.
b)本地逻辑节点名: 在做冗余上位机时使用.
c)组态文件: 就时scu文件所在的文件夹路径.
2. 打开RSLinx 新建TOPIC{注:TOPIC是指IFIX数据库中I/O地址中的中括号”[TOPIC]”的主题
} 找到CPU然后指向下DONE
有锁表示锁定状态,不让修改参数
也就是说有数据有交换
2.OPC设置
a)打开ifix OPC 选择(Options)中设置(Setup)中自定义路径中设置组态文
件及路径如下图:
b)在高级选项(Advanced)中激活中选中i/o设置中选择on如下图:
报警配置
要是创建不了表格那么要先到控制面板---性能和维护---管理工具---数据源(ODBC)添加
取名为Ifix_Alarm 数据库中选择路径选中工程中的文件夹Access
路径选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1:iFIX中如何使用vba开启和停止wsqlodc和alarmsODBC?DescriptionThe ability to stop or start the SQL task, wsqlodc, and to pause or continue the alarms to ODBC task used to only be available by launching Mission Control and manually controlli ng them.The ability to perform this control programmatically using VBA was added as part of a SI M foriFix 2.5. The function calls to allow this are not widely documented and are shown below: -ResolutionDeclare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Long'Turns on a SQL task. The cmd$ parameter is the command line passed to the SQL task 'Return of 0 is a success. Current logged in user must have security rights to turn'on/off SAC. If a non-zero error code is returned, you can use the err2str'utility in the fix base directory to translate the error to a stringDeclare Function TurnOffSqlTask Lib "missionvba" () As Long'Turns off a SQL task. Return of 0 is a success. Current logged in user must'have security rights to turn on/off SAC. If a non-zero error code is returned,'you can use the err2str utility in the fix base directory to translate the error to a stringDeclare Function PauseAlarmODBC Lib "missionvba" () As Long'Pauses the AlarmODBC task. Return of 0 is a success. Current logged in user does NO T'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging"'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration 'Utility.Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long'Resumes the AlarmODBC task. Return of 0 is a success. Current logged in user does NOT'have to have security rights.'This function will execute regardless of the "Allow Operator to Pause Alarm Logging"'Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration 'Utility.'All of these functions will block until the request is completed.2:iFIX如何使用vba开启和停止基于时间和事件的调度?Description:This solution shows how to start and stop a time-based or event-based schedulerunning in the background.Resolution:STOP / START a EVENT BASED SCHEDULETo Start:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub3:iFIX如何使用vba进行网络打印机打印?Description:The following is an example of printing an Excel Document to a Network Printer or a print er other than thedefault printer on the machine.Dim objXL As ObjectDim myDoc As ObjectSet objXL = CreateObject("Excel.Application")Set myDoc = objXL.Workbooks.Open("C:\testfile.xls", , True)myDoc.Printout copies:=1, preview:=False, ActivePrinter:="'\\SERVER\PRINTER", printto file:=False, collate:=TruemyDoc.CloseSet objXL = NothingSet myDoc = NothingReferencesIf this script is used in a background schedule with FixBackgroundServer configured to ru n as a Service, the Fixservice must run under a user account that has printers defined. See KnowledgeBase Article i013417 for moreinformation on this configuration.The Printout command can be used for other document types (Word, PowerPoint, etc), h owever different syntaxis required, refer to for other examples.4:iFIX报警状态代码以及意义?Description:FIX displays alarm status codes for each alarm in the Alarm Summary Link. What is the meaning of each of these codes?ResolutionPriority --> Alarm Type --> Description1 --> COMM --> Communication Error ("BAD" value)1 --> OCD --> Open circuit detected1 --> OVER --> Over Range1 --> UNDER --> Under Range1 --> ERROR --> Any Statistical Data block alarm2 --> CFN --> Change from normal alarm (digital blocks only)2 --> COS --> Change of State alarm (digital blocks only)2 --> HIHI --> Block in HIHI alarm state2 --> LOLO --> Block in LOLO alarm state3 --> RATE --> Value exceeds rate-of-change setting3 --> HI --> Block in HI alarm state3 --> LO --> Block in LO alarm state4 --> DEV --> Deviation Alarm5 --> OK --> Block in normal state5:如何禁止和使能7X驱动标签点(对驱动自动禁止特别有用)?Dim opcDriver As New OPCDrv.OPCServerDim objDriver As ObjectDim strDRVAcronym As StringDim strProgId As String''Variables for GetChannelDim lngNumChannels As LongDim lngChanHandlesDim strChanNames''Variables for GetDevicesDim lngNumDevices As LongDim lngDeviceHandlesDim strDeviceNames''Variables for GetDataBlocksDim lngNumDataBlocks As LongDim lngDataBlockHandlesDim strDataBlockNamesDim i As IntegerDim j As IntegerDim lngErrorsDim myvar As LongDim readEnable'strDRVAcronym = InputBox("Please enter the driver''s three letter acronym?" & vbCrLf & "(For Example:Enter ABR for the ABR Driver)", "What Driver are you using?")'strProgId = "Intellution." & strDRVAcronym & "drv"'strProgId = "Matrikon.OPC.Simulation.1"'Set objDriver = CreateObject(strProgId)lngNumChannels = opcDriver.GetChannels(lngChanHandles, strChanNames)''Build Variables for SetPropertyData function.lngHandle = lngDataBlockHandles(0)varProperties = "Enabled"varProperyData = "1"opcDriver.GetPropertyData lngChanHandles(1), varProperties, readEnable'对服器1置真If readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngChanHandles(1), varProperties, varPropery Data)End IflngNumDevices = opcDriver.GetDevices(lngChanHandles(1), lngDeviceHandles, strDevi ceNames)lngNumDataBlocks = opcDriver.GetDataBlocks(lngDeviceHandles(0), lngDataBlockHandl es, strDataBlockNames)lngHandle = lngDataBlockHandles(0)'读工作组opcDriver.GetPropertyData lngDeviceHandles(0), varProperties, readEnableIf readEnable = "0" ThenlngErrors = opcDriver.SetPropertyData(lngDeviceHandles(0), varProperties, varProper yData)End If'处理工作块opcDriver.GetPropertyData lngDataBlockHandles(0), varProperties, readEnableIf readEnable = "0" ThenFor i = 0 To 1lngErrors = opcDriver.SetPropertyData(lngDataBlockHandles(i), varProperties, varP roperyData)Next iEnd IfSet opcDriver = Nothing6:iFIX_如何使用脚本实现驱动(7x)的启动和停止?DescriptionThe following solution explains how to Start and Stop a 7.x driver through VBA code. This example usesthe ABR driver. To implement this with another 7.x driver, change the ABR to the three let ter acronym ofthe other driver and switch the reference to that driver.ResolutionThis code will only work with 7.x drivers. If you want to implement this is code in a new pi cture youneed to set a reference to Intellution ABRDrv OPC Server 7.20 Library. To set a referenc e, use the following steps:1) On the Tools menu in the VB Editor choose References.2) Select the Intellution ABRDrv OPC Server 7.20 Library from the list.Add two command buttons to your picture and name them cmdStart_Click and cmdStop_ Click.Then paste the following code into the picture:Private Sub cmdStart_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StopSet ABRDriver = NothingEnd SubPrivate Sub cmdStop_Click()Dim ABRDriver As New ABRDrv.ABRServerABRDriver.StartSet ABRDriver = Nothing7:iFIX_如何使用脚本实现驱动(6x)的启动和停止?DescriptionThis articles describes how to control (start or stop) the 6.x drivers through VBA, Comma nd Script,or DOS rather than in Mission Control.ResolutionThe attached application DCTRL61.EXE enables you to do this. Below are the usage inst ructions.Usage: DCTRL command driver acronym delay [sleep]where command is:START - start the driverSTOP - stop the driver from pollingSTOP_EXIT - stop polling and exitSLEEP - set new sleep time (period)STATUS - displays current valuesDELAY - Wait a Number of milliseconds before executing this command ( 1000 = 1 seco nd).The the dctrl61.exe must be located in the FIX32 or Dynamics directory. The command a nd driveracronym must be in ALL CAPS.Example from the DOS prompt: dctrl60 START MBRExample from a iFIX VBA: Shell c:\fix32\dctrl60 "START MBR"Example from a FIX32 script: Runtask c:\fix32\dctrl60 "START MBR"8:iFIX_脚本进行调度的启动和关闭方法?DescriptionThis solution shows how to start and stop a time-based or event-based schedule running in the background.ResolutionSTOP / START a EVENT BASED SCHEDULEPrivate Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StartEventEnd SubTo Stop:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject(, "FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")Var2.StopEventEnd SubSTOP / START a TIME BASED SCHEDULETo Stop the TimerObject:Private Sub CommandButton1_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application") Set Var2 = Var1.System.FindObject("Sched1.Timer1")Var2.TimerEnabled = FalseEnd SubTo Start the TimerObject:Private Sub CommandButton2_Click()Dim Var1 As ObjectDim Var2 As ObjectSet Var1 = GetObject (,"FixBackGroundServer.Application")Set Var2 = Var1.System.FindObject("sched.Timer1")Var2.TimerEnabled = TrueVar2.StartTimerEnd Sub9:iFIX_excel报表实现的方法?Private Sub CommandButton1_Click()'注释: 1。