你现在位置:首页>技术论文>软件知识>正文
iFix的n个经典问题解答之一
日期:2006-7-17 22:19:08 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

   发送失败。

WW.W_PLC※JS_C,OM-PL,C-技.术_网

以下是对《iFix的n个经典问题解答之一》的回复:

WWW.PLCJS.COM——可编程控制器技术门户

匿名回复:

P.L.C.技.术.网——可编程控制器技术门户

    
WWW_PL※CJS_COM-PLC-技.术_网

匿名回复:
WWW.PLCJS.COM——可编程控制器技术门户

    1:iFIX中如何使用vba开启和停止wsqlodc和alarmsODBC?
P.L.C.技.术.网——可编程控制器技术门户

WW.W_PLC※JS_C,OM-PL,C-技.术_网

Description
W1WW_P4LCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

The 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 controlling them. 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

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: -
WWW_P※LCJS_COM-PLC-)技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Resolution
plcjs.技.术_网

WWW_PLCJS_COM-PLC-技.术_网

Declare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Long
plcjs.技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

Turns on a SQL task.  The cmd$ parameter is the command line passed to the SQL task
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Return of 0 is a success.  Current logged in user must have security rights to turn
WWW_PL※CJS_COM-PLC-技.术_网

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
plcjs.技.术_网

P.L.C.技.术.网——可编程控制器技术门户

Declare Function TurnOffSqlTask Lib "missionvba" () As Long
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

Turns off a SQL task.  Return of 0 is a success.  Current logged in user must
WWW_PLCJS_COM-PLC-技.术_网

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
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLCJS_COM-PLC-技.术_网

Declare Function PauseAlarmODBC Lib "missionvba" () As Long
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Pauses the AlarmODBC task.  Return of 0 is a success.  Current logged in user does NOT
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

have to have security rights.
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

This function will execute regardless of the "Allow Operator to Pause Alarm Logging"
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Utility.
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Private Declare Function ContinueAlarmODBC Lib "missionvba" () As Long
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

Resumes the AlarmODBC task.  Return of 0 is a success.  Current logged in user does NOT
——可——编——程——控-制-器-技——术——门——户

have to have security rights.
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

This function will execute regardless of the "Allow Operator to Pause Alarm Logging"
WWW_P※LCJS_CO※M-PLC-技-.术_网

Setting found in the iFIX ODBC Alarm Service Configurator of the System Configuration
WWW_P※LCJS_COM-PLC-)技.术_网

Utility.
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PL※CJS_COM-PLC-技.术_网

All of these functions will block until the request is completed.
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

2:iFIX如何使用vba开启和停止基于时间和事件的调度?
WWcW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Description:This solution shows how to start and stop a time-based or event-based schedule
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 running in the background.
WWW.PLCJS.COM——可编程控制器技术门户

Resolution:STOP / START a EVENT BASED SCHEDULE
WWW_PLCJS_COM-PLC-技.术_网

To Start:
P.L.C.技.术.网——可编程控制器技术门户

Private Sub CommandButton1_Click()
P.L.C.技.术.网——可编程控制器技术门户

Dim Var1 As Object
WW.W_PLC※JS_C,OM-PL,C-技.术_网

Dim Var2 As Object
WWW_PL※CJS_COM-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

Set Var1 = GetObject(, "FixBackGroundServer.Application")
WW.W_PLC※JS_C,OM-PL,C-技.术_网

Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")
WWW_PLCJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Var2.StartEvent
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

End Sub
WWW_P※LCJS_COM-PLC-)技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

To Stop:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Private Sub CommandButton1_Click()
WW.W_PLCJS_COM-PLC-技.术_网

Dim Var1 As Object
WWW_PLC※JS_COM-PmLC-技.术_网

Dim Var2 As Object
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

Set Var1 = GetObject(, "FixBackGroundServer.Application")
WWW.PLCJS.COM——可编程控制器技术门户

Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")
WWcW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Var2.StopEvent
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

End Sub
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

STOP / START a TIME BASED SCHEDULE
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PL※CJS_COM-PLC-技.术_网

To Stop the TimerObject:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PL※CJS_COM-PLC-技.术_网

Private Sub CommandButton1_Click()
——可——编——程——控-制-器-技——术——门——户

Dim Var1 As Object
WWW.PLCJS.COM——可编程控制器技术门户

Dim Var2 As Object
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW.PLCJS.COM——可编程控制器技术门户

Set Var1 = GetObject (,"FixBackGroundServer.Application")
WWcW_PLCJS_COM-PLC-技.术_网

Set Var2 = Var1.System.FindObject("Sched1.Timer1")
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Var2.TimerEnabled = False
WWW_P※LCJS_COM-PLC-)技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

End Sub
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

To Start the TimerObject:
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Private Sub CommandButton2_Click()
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Dim Var1 As Object
WW.W_PLCJS_COM-PLC-技.术_网

Dim Var2 As Object
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Set Var1 = GetObject (,"FixBackGroundServer.Application")
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Set Var2 = Var1.System.FindObject("sched.Timer1")
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLC※JS_COM-PmLC-技.术_网

Var2.TimerEnabled = True
WW.W_PLCJS_COM-PLC-技.术_网

Var2.StartTimer
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

End Sub 
W1WW_P4LCJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

3:iFIX如何使用vba进行网络打印机打印?
P.L.C.技.术.网——可编程控制器技术门户

Description:
——可——编——程——控-制-器-技——术——门——户

The following is an example of printing an Excel Document to a Network Printer or a printer other than the
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

 default printer on the machine.
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Dim objXL As Object
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Dim myDoc As Object
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_P※LCJS_CO※M-PLC-技-.术_网

Set objXL = CreateObject("Excel.Application")
WW.W_PLCJS_COM-PLC-技.术_网

Set myDoc = objXL.Workbooks.Open("C:\testfile.xls", , True) 
WWW_PLC※JS_COM-PmLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

myDoc.Printout copies:=1, preview:=False, ActivePrinter:="\\SERVER\PRINTER", printtofile:=False, collate:=True 
plcjs.技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

myDoc.Close
WW.W_PLC※JS_C,OM-PL,C-技.术_网

Set objXL = Nothing
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Set myDoc = Nothing 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS_COM-PLC-技.术_网

References
WWW_P※LCJS_COM-PLC-)技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

If this script is used in a background schedule with FixBackgroundServer configured to run as a Service, the Fix
WWW_PLC※JS_COM-PmLC-技.术_网

 service must run under a user account that has printers defined. See KnowledgeBase Article i013417 for more
WWW.PLCJS.COM——可编程控制器技术门户

information on this configuration.
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJS@_COM%-PLC-技.术_网

The Printout command can be used for other document types (Word, PowerPoint, etc), however different syntax
WWW_P※LCJS_COM-PLC-)技.术_网

is required, refer to http://msdn.microsoft.com for other examples.
P.L.C.技.术.网——可编程控制器技术门户

WWW_PLCJS@_COM%-PLC-技.术_网

4:iFIX报警状态代码以及意义?
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Description:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

FIX displays alarm status codes for each alarm in the Alarm Summary Link. What is the meaning of each of these codes?
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Resolution
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

Priority --> Alarm Type --> Description
WW.W_PLCJS_COM-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

1 --> COMM --> Communication Error ("BAD" value)
WWW_P※LCJS_CO※M-PLC-技-.术_网

1 --> OCD --> Open circuit detected
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

1 --> OVER --> Over Range
WWW.PLCJS.COM——可编程控制器技术门户

1 --> UNDER --> Under Range
WWW_PLCJS_COM-PLC-技.术_网

1 --> ERROR --> Any Statistical Data block alarm
plcjs.技.术_网

2 --> CFN --> Change from normal alarm (digital blocks only)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

2 --> COS --> Change of State alarm (digital blocks only)
WWW.PLCJS.COM——可编程控制器技术门户

2 --> HIHI --> Block in HIHI alarm state
W1WW_P4LCJS_COM-PLC-技.术_网

2 --> LOLO --> Block in LOLO alarm state
P.L.C.技.术.网——可编程控制器技术门户

3 --> RATE --> Value exceeds rate-of-change setting
WWW_PLCJS@_COM%-PLC-技.术_网

3 --> HI --> Block in HI alarm state
WWW_PLCJS_COM-PLC-技.术_网

3 --> LO --> Block in LO alarm state
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

4 --> DEV --> Deviation Alarm
P.L.C.技.术.网——可编程控制器技术门户

5 --> OK --> Block in normal state
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

plcjs.技.术_网

5:如何禁止和使能7X驱动标签点(对驱动自动禁止特别有用)?
WWW_P※LCJS_CO※M-PLC-技-.术_网

Dim opcDriver As New OPCDrv.OPCServer
P.L.C.技.术.网——可编程控制器技术门户

Dim objDriver As Object
plcjs.技.术_网

Dim strDRVAcronym As String
P.L.C.技.术.网——可编程控制器技术门户

Dim strProgId As String
WW.W_PLCJS_COM-PLC-技.术_网

Variables for GetChannel
WWW_P※LCJS_COM-PLC-)技.术_网

Dim lngNumChannels As Long
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Dim lngChanHandles
P.L.C.技.术.网——可编程控制器技术门户

Dim strChanNames
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Variables for GetDevices
WWW.PLCJS.COM——可编程控制器技术门户

Dim lngNumDevices As Long
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Dim lngDeviceHandles
WWW_PLCJS@_COM%-PLC-技.术_网

Dim strDeviceNames
——可——编——程——控-制-器-技——术——门——户

Variables for GetDataBlocks
——可——编——程——控-制-器-技——术——门——户

Dim lngNumDataBlocks As Long
WWW_P※LCJS_CO※M-PLC-技-.术_网

Dim lngDataBlockHandles
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Dim strDataBlockNames
WW.W_PLC※JS_C,OM-PL,C-技.术_网

Dim i As Integer
WWcW_PLCJS_COM-PLC-技.术_网

Dim j As Integer
WW.W_PLCJS_COM-PLC-技.术_网

Dim lngErrors
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Dim myvar As Long
WWW_PLCJS_COM-PLC-技.术_网

Dim readEnable
WWW_PLCJS_COM-PLC-技.术_网

strDRVAcronym = InputBox("Please enter the drivers three letter acronym?" & vbCrLf & "(For Example: 
WWW_PLCJS_COM-PLC-技.术_网

Enter ABR for the ABR Driver)", "What Driver are you using?")
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

strProgId = "Intellution." & strDRVAcronym & "drv"
WWW_PLCJS@_COM%-PLC-技.术_网

strProgId = "Matrikon.OPC.Simulation.1"
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Set objDriver = CreateObject(strProgId)
WWW_P※LCJS_CO※M-PLC-技-.术_网

lngNumChannels = opcDriver.GetChannels(lngChanHandles, strChanNames)
——可——编——程——控-制-器-技——术——门——户

Build Variables for SetPropertyData function.
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

lngHandle = lngDataBlockHandles(0)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

varProperties = "Enabled"
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

varProperyData = "1"
WWW_PLCJS_COM-PLC-技.术_网

opcDriver.GetPropertyData lngChanHandles(1), varProperties, readEnable
WWW_P※LCJS_CO※M-PLC-技-.术_网

对服器1置真
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

If readEnable = "0" Then
plcjs.技.术_网

    lngErrors = opcDriver.SetPropertyData(lngChanHandles(1), varProperties, varProperyData)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

End If
WW.W_PLCJS_COM-PLC-技.术_网

lngNumDevices = opcDriver.GetDevices(lngChanHandles(1), lngDeviceHandles, strDeviceNames)
WW.W_PLCJS_COM-PLC-技.术_网

lngNumDataBlocks = opcDriver.GetDataBlocks(lngDeviceHandles(0), lngDataBlockHandles, strDataBlockNames)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

lngHandle = lngDataBlockHandles(0)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

读工作组
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

opcDriver.GetPropertyData lngDeviceHandles(0), varProperties, readEnable
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

If readEnable = "0" Then
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    lngErrors = opcDriver.SetPropertyData(lngDeviceHandles(0), varProperties, varProperyData)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

End If
——可——编——程——控-制-器-技——术——门——户

处理工作块
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

opcDriver.GetPropertyData lngDataBlockHandles(0), varProperties, readEnable
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

If readEnable = "0" Then
WWW_P※LCJS_COM-PLC-)技.术_网

    For i = 0 To 1
WWW_P※LCJS_COM-PLC-)技.术_网

        lngErrors = opcDriver.SetPropertyData(lngDataBlockHandles(i), varProperties, varProperyData)
plcjs.技.术_网

    Next i
WW.W_PLCJS_COM-PLC-技.术_网

End If
W1WW_P4LCJS_COM-PLC-技.术_网

Set opcDriver = Nothing
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

W1WW_P4LCJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

6:iFIX_如何使用脚本实现驱动(7x)的启动和停止?
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Description
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_P※LCJS_CO※M-PLC-技-.术_网

The following solution explains how to Start and Stop a 7.x driver through VBA code. This example uses 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

the ABR driver. To implement this with another 7.x driver, change the ABR to the three letter acronym of 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

the other driver and switch the reference to that driver.
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PL※CJS_COM-PLC-技.术_网

Resolution
plcjs.技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

This code will only work with 7.x drivers. If you want to implement this is code in a new picture you 
WWW_PLC※JS_COM-PmLC-技.术_网

need to set a reference to Intellution ABRDrv OPC Server 7.20 Library. To set a reference, use the following steps:
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

1) On the Tools menu in the VB Editor choose References.
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

2) Select the Intellution ABRDrv OPC Server 7.20 Library from the list.
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

Add two command buttons to your picture and name them cmdStart_Click and cmdStop_Click.
WWW_PLCJS@_COM%-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

Then paste the following code into the picture:
WWW_P※LCJS_COM-PLC-)技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Private Sub cmdStart_Click()
W1WW_P4LCJS_COM-PLC-技.术_网

plcjs.技.术_网

Dim ABRDriver As New ABRDrv.ABRServer
WW.W_PLCJS_COM-PLC-技.术_网

ABRDriver.Stop
WWW_P※LCJS_COM-PLC-)技.术_网

Set ABRDriver = Nothing
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

End Sub
——可——编——程——控-制-器-技——术——门——户

plcjs.技.术_网

Private Sub cmdStop_Click()
plcjs.技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Dim ABRDriver As New ABRDrv.ABRServer
——可——编——程——控-制-器-技——术——门——户

ABRDriver.Start
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Set ABRDriver = Nothing
WWW_PLCJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

End Sub 
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

7:iFIX_如何使用脚本实现驱动(6x)的启动和停止?
P.L.C.技.术.网——可编程控制器技术门户

Description
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

plcjs.技.术_网

This articles describes how to control (start or stop) the 6.x drivers through VBA, Command Script, 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

or DOS rather than in Mission Control.
WWcW_PLCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

Resolution
WWW_P※LCJS_COM-PLC-)技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

The attached application DCTRL61.EXE enables you to do this. Below are the usage instructions.
WWW.PLCJS.COM——可编程控制器技术门户

P.L.C.技.术.网——可编程控制器技术门户

Usage: DCTRL command driver acronym delay [sleep]
WWW_PL※CJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

where command is:
P.L.C.技.术.网——可编程控制器技术门户

START - start the driver
WW.W_PLC※JS_C,OM-PL,C-技.术_网

STOP - stop the driver from polling
W1WW_P4LCJS_COM-PLC-技.术_网

STOP_EXIT - stop polling and exit
——可——编——程——控-制-器-技——术——门——户

SLEEP - set new sleep time (period)
——可——编——程——控-制-器-技——术——门——户

STATUS - displays current values
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

DELAY - Wait a Number of milliseconds before executing this command ( 1000 = 1 second).
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

——可——编——程——控-制-器-技——术——门——户

The the dctrl61.exe must be located in the FIX32 or Dynamics directory. The command and driver
WWW_P※LCJS_COM-PLC-)技.术_网

acronym must be in ALL CAPS.
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

plcjs.技.术_网

Example from the DOS prompt: dctrl60 START MBR
WWW_PLCJS_COM-PLC-技.术_网

Example from a iFIX VBA: Shell c:\fix32\dctrl60 "START MBR"
plcjs.技.术_网

Example from a FIX32 script: Runtask c:\fix32\dctrl60 "START MBR"
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

8:iFIX_脚本进行调度的启动和关闭方法?
WWW_PL※CJS_COM-PLC-技.术_网

Description
——可——编——程——控-制-器-技——术——门——户

plcjs.技.术_网

This solution shows how to start and stop a time-based or event-based schedule running in the background.
P.L.C.技.术.网——可编程控制器技术门户

Resolution
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

STOP / START a EVENT BASED SCHEDULE
——可——编——程——控-制-器-技——术——门——户

WWW_P※LCJS_COM-PLC-)技.术_网

To Start:
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Private Sub CommandButton1_Click()
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Dim Var1 As Object
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Dim Var2 As Object
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Set Var1 = GetObject(, "FixBackGroundServer.Application")
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

Var2.StartEvent
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

End Sub
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

To Stop:
——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS@_COM%-PLC-技.术_网

Private Sub CommandButton1_Click()
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Dim Var1 As Object
WWW_P※LCJS_CO※M-PLC-技-.术_网

Dim Var2 As Object
WWW_P※LCJS_COM-PLC-)技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

Set Var1 = GetObject(, "FixBackGroundServer.Application")
WWW_PL※CJS_COM-PLC-技.术_网

Set Var2 = Var1.System.FindObject("SchedTest1.FIXEvent1")
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

Var2.StopEvent
WWcW_PLCJS_COM-PLC-技.术_网

End Sub
WWW.PLCJS.COM——可编程控制器技术门户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

STOP / START a TIME BASED SCHEDULE
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJS_COM-PLC-技.术_网

To Stop the TimerObject:
P.L.C.技.术.网——可编程控制器技术门户

P.L.C.技.术.网——可编程控制器技术门户

Private Sub CommandButton1_Click()
WW.W_PLC※JS_C,OM-PL,C-技.术_网

Dim Var1 As Object
WWW_PL※CJS_COM-PLC-技.术_网

Dim Var2 As Object
WWcW_PLCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

Set Var1 = GetObject (,"FixBackGroundServer.Application")
WWW_PLCJS_COM-PLC-技.术_网

Set Var2 = Var1.System.FindObject("Sched1.Timer1")
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Var2.TimerEnabled = False
WWW_P※LCJS_COM-PLC-)技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

End Sub
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

To Start the TimerObject:
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

Private Sub CommandButton2_Click()
WWW_P※LCJS_COM-PLC-)技.术_网

Dim Var1 As Object
WWW_P※LCJS_CO※M-PLC-技-.术_网

Dim Var2 As Object
WWW.PLCJS.COM——可编程控制器技术门户

WWcW_PLCJS_COM-PLC-技.术_网

Set Var1 = GetObject (,"FixBackGroundServer.Application")
WWW.PLCJS.COM——可编程控制器技术门户

Set Var2 = Var1.System.FindObject("sched.Timer1")
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWcW_PLCJS_COM-PLC-技.术_网

Var2.TimerEnabled = True
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Var2.StartTimer
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PL※CJS_COM-PLC-技.术_网

End Sub 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PL※CJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

9:iFIX_excel报表实现的方法?
WWW.PLCJS.COM——可编程控制器技术门户

Private Sub CommandButton1_Click()
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    注释:  1。该程序需要安装ADO 2.0目标库并在本机注册
WWW.PLCJS.COM——可编程控制器技术门户

           2。Microsoft ActiveX Data Objects 2.1 Library 必须被引用 (Office 2000)
WWcW_PLCJS_COM-PLC-技.术_网

           3。Microsoft Excel 9.0 object libraries 必须被引用 (Office 2000)
WW.W_PLC※JS_C,OM-PL,C-技.术_网

           4。划===处可根据具体报表修改
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    
WWW_P※LCJS_COM-PLC-)技.术_网

    Dim strQueryAvg As String
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

    Dim c As Integer
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    Dim r As Integer
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Dim Intyexcel As Excel.Application
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    Dim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecond
WW.W_PLCJS_COM-PLC-技.术_网

    Dim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As String
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    ++===================================================================
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    报表中的 TAG
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As String
WWW_PLC※JS_COM-PmLC-技.术_网

    Dim Items As Integer
WW.W_PLCJS_COM-PLC-技.术_网

    
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Tag1 = "TEST"
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    Tag2 = "TEST1"
W1WW_P4LCJS_COM-PLC-技.术_网

    Tag3 = " "
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    Tag4 = " "
P.L.C.技.术.网——可编程控制器技术门户

    Tag5 = " "
——可——编——程——控-制-器-技——术——门——户

    Tag6 = " "
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    Tag7 = " "
WWW_PLCJS@_COM%-PLC-技.术_网

    Tag8 = " "
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    从历史库中取得域项, 2 - DATATIME, VALUE, TAG 共三项
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    Items = 2
WWW_P※LCJS_CO※M-PLC-技-.术_网

    --====================================================================
WW.W_PLCJS_COM-PLC-技.术_网

    
WWW_PLC※JS_COM-PmLC-技.术_网

    MyDate = Now()
W1WW_P4LCJS_COM-PLC-技.术_网

    MyMonth = Month(MyDate)
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    MyDay = Day(MyDate)
WWW_PLCJS@_COM%-PLC-技.术_网

    MyHour = Hour(MyDate)
WWW_PLCJS@_COM%-PLC-技.术_网

    MyMinute = Minute(MyDate)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    MySecond = Second(MyDate)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    
P.L.C.技.术.网——可编程控制器技术门户

    StartTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "00:00:00"
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    EndTime = "2000" & "-" & MyMonth & "-" & MyDay - 1 & " " & "23:00:00"
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

    ++==========================================================================
WWcW_PLCJS_COM-PLC-技.术_网

    查询,根据报表修改
——可——编——程——控-制-器-技——术——门——户

    strQueryAvg = "Select DATETIME, VALUE, TAG FROM FIX " & _
WWW_P※LCJS_CO※M-PLC-技-.术_网

        "WHERE MODE = AVERAGE and (TAG=" & Tag1 & " or TAG=" & Tag2 & "" & _
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

        " or TAG=" & Tag3 & " or TAG=" & Tag4 & " or TAG=" & Tag5 & "" & _
WW.W_PLCJS_COM-PLC-技.术_网

        " or TAG=" & Tag6 & " or TAG=" & Tag7 & " or TAG=" & Tag8 & ")" & _
WWW_P※LCJS_CO※M-PLC-技-.术_网

        "and INTERVAL = 01:00:00 and " & _
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        "(DATETIME >= {ts " & StartTime & "} and " & _
——可——编——程——控-制-器-技——术——门——户

        "DATETIME <= {ts " & EndTime & "})"
plcjs.技.术_网

    --===========================================================================
WWW_PLCJS_COM-PLC-技.术_网

    
P.L.C.技.术.网——可编程控制器技术门户

    
W1WW_P4LCJS_COM-PLC-技.术_网

    Dim cnADO As New ADODB.Connection
W1WW_P4LCJS_COM-PLC-技.术_网

    Dim rsADO As Recordset
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    
WWW.PLCJS.COM——可编程控制器技术门户

    Set cnADO = New ADODB.Connection
WWcW_PLCJS_COM-PLC-技.术_网

    cnADO.ConnectionString = "DSN = FIX Dynamics Historical Data; UID = sa; PWD = ;"
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    cnADO.Open "FIX Dynamics Historical Data", "sa", ""
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    Set rsADO = New ADODB.Recordset
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

    rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimistic
WW.W_PLCJS_COM-PLC-技.术_网

    如果执行上面的语句出错的话,则最大的可能性就是SQL语句有错误!
WWW_PLCJS_COM-PLC-技.术_网

    r = 1
P.L.C.技.术.网——可编程控制器技术门户

    Set Intyexcel = New Excel.Application
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    Intyexcel.Visible = False
WWW.PLCJS.COM——可编程控制器技术门户

    
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    
WWW_PLC※JS_COM-PmLC-技.术_网

    
P.L.C.技.术.网——可编程控制器技术门户

    ++============================================================================
WWW.PLCJS.COM——可编程控制器技术门户

    打开的报表文件名
WWW_PLC※JS_COM-PmLC-技.术_网

    Dim OutReportFile As String
WW.W_PLCJS_COM-PLC-技.术_网

    Dim InReportFile As String
W1WW_P4LCJS_COM-PLC-技.术_网

    
WWW_P※LCJS_CO※M-PLC-技-.术_网

    InReportFile = "C:\Dynamics\App\HIST1"
plcjs.技.术_网

    
WW.W_PLCJS_COM-PLC-技.术_网

    Intyexcel.Workbooks.Open InReportFile & ".XLS"
WW.W_PLCJS_COM-PLC-技.术_网

      
WWcW_PLCJS_COM-PLC-技.术_网

    Intyexcel.Sheets("Sheet2").Select
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    Intyexcel.Columns("A:Z").Select
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Intyexcel.Selection.ClearContents
WWW_PLC※JS_COM-PmLC-技.术_网

    Intyexcel.Range("A1").Select
WWW_PL※CJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    While rsADO.EOF <> True
——可——编——程——控-制-器-技——术——门——户

        With Intyexcel.Worksheets(2)
WWW_PLCJS@_COM%-PLC-技.术_网

            For c = 0 To Items
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

                If rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c)
W1WW_P4LCJS_COM-PLC-技.术_网

            Next c
plcjs.技.术_网

            r = r + 1
P.L.C.技.术.网——可编程控制器技术门户

            rsADO.MoveNext
P.L.C.技.术.网——可编程控制器技术门户

        End With
P.L.C.技.术.网——可编程控制器技术门户

    Wend
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Intyexcel.Sheets("Sheet1").Select
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait       xlLandscape
WWW_PLC※JS_COM-PmLC-技.术_网

    Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    Intyexcel.ActiveSheet.PrintOut
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    Intyexcel.DisplayAlerts = False
WWW.PLCJS.COM——可编程控制器技术门户

    Intyexcel.ActiveWorkbook.Save
P.L.C.技.术.网——可编程控制器技术门户

    OutReportFile = InReportFile & "_00" & MyMonth & MyDay
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    Intyexcel.ActiveWorkbook.SaveAs OutReportFile
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    
WWW_PLC※JS_COM-PmLC-技.术_网

    Intyexcel.Quit
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    Intyexcel.DisplayAlerts = True
W1WW_P4LCJS_COM-PLC-技.术_网

    Set Intyexcel = Nothing
WWcW_PLCJS_COM-PLC-技.术_网

    Set cnADO = Nothing
plcjs.技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

End Sub
WW.W_PLC※JS_C,OM-PL,C-技.术_网

plcjs.技.术_网

10:IFIX中对事件调度有没什么限制?
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

    曾经用过用500个事件调度没事。  
WWW_PL※CJS_COM-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

11:IFIX中求模拟量一段时间平均值?
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    Dim strvalue1 As Variant
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Dim strvalue2 As Variant
WWW_P※LCJS_CO※M-PLC-技-.术_网

    Dim strvalue3 As Variant
WWW_PLC※JS_COM-PmLC-技.术_网

    Dim strvalue4 As Variant
W1WW_P4LCJS_COM-PLC-技.术_网

    Dim strvalue5 As Variant
WWW_PLCJS_COM-PLC-技.术_网

    Dim strvalue6 As Variant
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    Dim strvalue7 As Variant
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    Dim strvaluep As Variant
WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

    Private Sub FixTimer4_OnTimeOut(ByVal lTimerId As Long)
plcjs.技.术_网

    计算平均值
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    strvalue7 = strvalue6
plcjs.技.术_网

    strvalue6 = strvalue5
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    strvalue5 = strvalue4
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    strvalue4 = strvalue3
WW.W_PLCJS_COM-PLC-技.术_网

    strvalue3 = strvalue2
WWW.PLCJS.COM——可编程控制器技术门户

    strvalue2 = strvalue1
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    strvalue1 = Fix32.Fix.J001.a_cv
WWW_PLC※JS_COM-PmLC-技.术_网

    strvaluep = ((Val(strvalue1) + Val(strvalue2) + Val(strvalue3) + Val(strvalue4) + 
WWW_PLCJS@_COM%-PLC-技.术_网

Val(strvalue5) + Val(strvalue6) +     Val(strvalue7)) / 7)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    user.J001.CurrentValue = strvaluep
WWW_P※LCJS_COM-PLC-)技.术_网

    
WWW_P※LCJS_CO※M-PLC-技-.术_网

    END SUB
——可——编——程——控-制-器-技——术——门——户

——可——编——程——控-制-器-技——术——门——户

12:在IFIX中如何显示用户信息?
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

    在FIX32产品中,FIX内含一系列系统变量,存储当前系统信息,包括当前用户的注册信息,
WWW_PLCJS_COM-PLC-技.术_网

如#GS_LOGIN.NAME。在IFIX中可通过VBA代码,实现显示或获得用户的注册信息。代码如下:  
WWW.PLCJS.COM——可编程控制器技术门户

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    Private Sub Text1_Click()
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

    Dim sUserID As String
WWW_PLC※JS_COM-PmLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

    Dim sUserName As String
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

P.L.C.技.术.网——可编程控制器技术门户

    Dim sGroupName As String
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PL※CJS_COM-PLC-技.术_网

    System.FixGetUserInfo sUserID, sUserName, sGroupName
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

    Text1.Caption = sUserName
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

plcjs.技.术_网

13:iFix PLUS版本与CLIENT版本的区别?
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    PLUS版本支持SCADA。CLIENT版本不支持SCADA。这是二者最大的区别。
plcjs.技.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    PLUS版本的节点可以作为CLIENT版本节点的远程节点,供CLIENT版本的节点读取实时数据。
WWW.PLCJS.COM——可编程控制器技术门户

    如果CLIENT版本的节点要对PLUS版本的节点的数据进行写操作,两个节点的安全设置权限必须一致,
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

否则写操作不会成功。 PLUS版本有单机版,CLIENT版本都是网络版。
WW.W_PLCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

    两种版本的报价都与点数有关,不同点数的版本价格不同,价格随点数的增加而增加,PLUS版本的要
WWW_PLC※JS_COM-PmLC-技.术_网

比CLIENT版本高很多。
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

14:如何在VBA窗体中实现定时器的功能呢?
WW.W_PLCJS_COM-PLC-技.术_网

使用user32中的timer函数:
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal 
W1WW_P4LCJS_COM-PLC-技.术_网

uElapse As Long, ByVal lpTimerFunc As Long) As Long
WWcW_PLCJS_COM-PLC-技.术_网

Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
WWW.PLCJS.COM——可编程控制器技术门户

‘这两个是对API函数SetTimer和KillTimer的引用。
WWW_P※LCJS_COM-PLC-)技.术_网

SetTimer(0, 0, 150, AddressOf Timer_eg)  创建定时器
WWcW_PLCJS_COM-PLC-技.术_网

KillTimer(0, timerset)  销毁定时器
WW.W_PLCJS_COM-PLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

15:播放语音报警的实现方法?
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

   播放语音文件(.WAV)可以通过API函数来进行,不需要单独的编写。播放WAV文件的函数有两个,对应
WWW_PL※CJS_COM-PLC-技.术_网

于同步和异步。所谓同步是指一次只能播放一个语音文件,不可以连续播放;而异步则可以同时打开多个语
WWW_PL※CJS_COM-PLC-技.术_网

音文件,一个个连续的播放,在多个报警同时到来时非常有用。
——可——编——程——控-制-器-技——术——门——户

同步函数为:mciSendString
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

使用时首先要声明:Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal 
WWW_PL※CJS_COM-PLC-技.术_网

lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal 
WWW_P※LCJS_CO※M-PLC-技-.术_网

hwndCallback As Long) As Long
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

用法:
WWW_PLC※JS_COM-PmLC-技.术_网

Dim filename as String
P.L.C.技.术.网——可编程控制器技术门户

Dim cmd As String
WW.W_PLC※JS_C,OM-PL,C-技.术_网

filename = "test.wav"
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

cmd = "open " & filename & " type WAVEAudio alias MyWav"
——可——编——程——控-制-器-技——术——门——户

Call mciSendString(cmd, 0, 0, 0)
WWW_P※LCJS_COM-PLC-)技.术_网

Call mciSendString("play MyWav", 0, 0, 0)
WWW_PL※CJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

异步函数为:mciSendString
WW.W_PLCJS_COM-PLC-技.术_网

使用时首先要声明:Declare Function sndPlaySound Lib "winmm.dll"
WWW_P※LCJS_COM-PLC-)技.术_网

Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
W1WW_P4LCJS_COM-PLC-技.术_网

用法:
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Dim filename as String
WWW_PL※CJS_COM-PLC-技.术_网

filename = "test.wav"
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Call sndPlaySound(filename, SND_SYNC)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

可以连续调用sndPlaySound来进行连续多个语音文件的播放。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

plcjs.技.术_网

16: 如何实现报警存入报警历史库呢?本例以ACCESS作为报警历史库,来说明报警历史库的实现过程,
WWW.PLCJS.COM——可编程控制器技术门户

并给出实际的报警历史查询代码。
WWcW_PLCJS_COM-PLC-技.术_网

http://download.gongkong.com/file/2005/12/15/a.pdf
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

17:iFIX 冗余系统是如何定义的?
plcjs.技.术_网

 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   FIX的冗余支持可以分为五层功能,即PLC级、工业网级、SCADA级、LAN和VIEW 客户端级。
WWW.PLCJS.COM——可编程控制器技术门户

 
WWW_PLCJS_COM-PLC-技.术_网

   PLC 级冗余支持指对双 PLC 的支持,此项支持在 Intellution 驱动程序中配置, 即可以将下面冗余的
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 PLC 站号以主备 PLC 的形式定义。工业网级冗余即Intellution的驱动程序可以支持双工业网卡冗余,即常
WWW_PL※CJS_COM-PLC-技.术_网

说的双通道,LAN冗余指iFIX可以直接支持双以太网卡,即两个 NetBIOS 会话之间的冗余或两个TCPIP地址之间的冗余。
WWW_P※LCJS_CO※M-PLC-技-.术_网

 
——可——编——程——控-制-器-技——术——门——户

    SCADA 级和客户端级冗余共同工作,构成 Auto FailOver 的功能,如要使用上述功能,需要购买 iFIX 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

的 Redundancy 组件选项,而且此选项成对随 SCADA Server 购买。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWcW_PLCJS_COM-PLC-技.术_网

18:iFIX 冗余系统是如何实现的?
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

     首先安装在SCADA_A 和 SCADA_B 上的软件:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    1. iFIX HMI Pak 
WWW_P※LCJS_COM-PLC-)技.术_网

    2. iFIX Redundancy 选项(随 iFIX安装时已安装)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

 
WWW_PL※CJS_COM-PLC-技.术_网

     安装在客户机上的软件:iFIX Client 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

 
WWW_PL※CJS_COM-PLC-技.术_网

     硬件连接:所有计算机通过以太网连接。SCADA服务器与硬件设备连接。
P.L.C.技.术.网——可编程控制器技术门户

 
WW.W_PLCJS_COM-PLC-技.术_网

     功能描述:数据采集:SCADA_A 和 SCADA_B上的过程数据库的定义是完全一样的, 两台机器上的IO通讯
WW.W_PLCJS_COM-PLC-技.术_网

同时进行。SCADA_A配置成主机,SCADA_B配置成备用机。以上在 SCU中完成。
WWW_PLCJS@_COM%-PLC-技.术_网

 
WWW_P※LCJS_COM-PLC-)技.术_网

    冗余切换过程:在客户机一端设置远方服务器名时使用以下方式:逻辑名只有一个:LINE1,实际的名字
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

是两个:SCADA_A和SCADA_B,在选取数据源时,只会看到一个远端的计算机节点名:LINE1。服务器设置SCADA_A
W1WW_P4LCJS_COM-PLC-技.术_网

的Partner是 SCADA_B,SCADA_B的Partner是SCADA_A。正常情况下,两台SCADA同时读取硬件数据,但是客户端只
P.L.C.技.术.网——可编程控制器技术门户

从主服务器读取数据,即客户端只能看到 LINE1来的数据,报警和历史数据采集。iFIX内部有网络变量TAG,SCADA_B
WW.W_PLC※JS_C,OM-PL,C-技.术_网

不断通过以太网检查 SCADA_A的状况,如发现她出了故障,便将主备角色进行切换并将其成为主服务器的消息发
——可——编——程——控-制-器-技——术——门——户

给客户机,客户机立即会将数据源切换到备用服务器,整个过程时间约为1-2秒,由于数据采集在两台服务器上同
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

时进行的,故不会发生丢失,并且 iFIX冗余选项可以进行网络报警同步,保证报警的一致性。
W1WW_P4LCJS_COM-PLC-技.术_网

 
WWW_PLCJS@_COM%-PLC-技.术_网

    系统修复过程:当主机修复后又回到网络中时,可以在客户端将主备状态重新手动切换回来。所有操作可
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

以通过iFIX安装时带来的网络和冗余角色操作画面完成。
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

19:iFix提供哪些方式与关系数据库连接相连?
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

主要通过ODBC和OLE DB。这两种方法的连接方式主要说明如下:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 ODBC:
WWcW_PLCJS_COM-PLC-技.术_网

使用此方式作连接主要有两种类型:在iFIX中使用关系数据库的ODBC驱动程序;在关系数据库中使用 iFIX的ODBC驱动程序。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

 
WWcW_PLCJS_COM-PLC-技.术_网

在 iFIX 中使用 ODBC 驱动连接有如下几种方式:
WWW.PLCJS.COM——可编程控制器技术门户

 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

1) 在 PDB 中使用 SQL 数据库块,操作原理是:
——可——编——程——控-制-器-技——术——门——户

    使用控制面板中的ODBC数据源添加关系数据库源
plcjs.技.术_网

    在 iFIX系统配置中配置上述数据源的ODBC任务
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    在存放数据表的关系数据库中加入一张表存放要执行的 SQL 命令
WW.W_PLC※JS_C,OM-PL,C-技.术_网

    在 PDB 中定义相应的 SQT和SQD块,执行上述表中的命令,并存入相关数据。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

 
WWW_PLC※JS_COM-PmLC-技.术_网

2)在iFIX中使用 VBA 直接定义 ODBC 数据源,调用相应方法读取数据,然后将数据直接显示或写入iFIX数据库。
WWcW_PLCJS_COM-PLC-技.术_网

     在关系数据库中使用 iFIX 的ODBC驱动程序获取数据 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    可在相应关系数据库中建立一张表,使用链接表或输入表,可使用的数据类型为iFIX历史数据和实时数据,
WWcW_PLCJS_COM-PLC-技.术_网

然后通过查询的方式建立所需的数据表。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

 
WWW_PLCJS@_COM%-PLC-技.术_网

OLE DB:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    此方式多用于在iFIX中查询关系数据库的数据, Intellution 有现成的组件 VisiconX 通过 OLE DB 驱动
WW.W_PLC※JS_C,OM-PL,C-技.术_网

与相应的关系数据库通讯,VisiconX 是一套企业级关系数据库连接查询工具,实际是通过 ActiveX 的形式提
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

供查询连接。用户无需编程便可以通过这些控件显示关系数据库中指定的表或查询结果,若有复杂的查询条件,
——可——编——程——控-制-器-技——术——门——户

用户可以通过 VisiconX的SQL 向导自动生成查询命令。
P.L.C.技.术.网——可编程控制器技术门户

 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    如用户的VBA开发能力较强,也可用VBA命令通过 OLE DB的引擎进行数据交换。
——可——编——程——控-制-器-技——术——门——户

 
W1WW_P4LCJS_COM-PLC-技.术_网

OpenRDA:
WWW_P※LCJS_CO※M-PLC-技-.术_网

 
WWW.PLCJS.COM——可编程控制器技术门户

    是第三方应用程序,提供超强的C/S结构关系数据库连接,在iFIX节点上安装 OpenRDA,则此程序作为 ODBC 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

Server,可以将 iFIX数据与此Server交换,其他安装 OpenRDA Client 的机器可以没有iFIX,这就意味着可以跨
——可——编——程——控-制-器-技——术——门——户

平台脱离iFIX将实时数据或历史数据传输。
plcjs.技.术_网

 
P.L.C.技.术.网——可编程控制器技术门户

    此程序还可以提供更多的 SQL 命令支持,可以在一条SQL命令中读取多个节点的数据,还支持数据分析命令如
WWW_PLCJS@_COM%-PLC-技.术_网

 JOIN,还可以读取指定的网络上的任意一个iFIX节点上的历史数据文件中的数据。
WWW_P※LCJS_COM-PLC-)技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

20:iFIX WAN 连接方式如何实现?
WWW_P※LCJS_COM-PLC-)技.术_网

 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    拨号网络:iFIX支持的拨号网络可以通过公共电话网或专线等其他方式,可以实现的功能与普通局域网相同,
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

但速度会比局域网慢,注意使用此方式时,要使用NT Server 并安装远程拨号服务RAS,原因在于只有NT Server
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

才支持多个拨号连接。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

 
WWcW_PLCJS_COM-PLC-技.术_网

    iWebServer:通过 iFIX 的组件 iWebServer 可以将iFIX的实时数据在广域网上发布出去,用户可以通过标
WWcW_PLCJS_COM-PLC-技.术_网

准的浏览器看到实时信息。
WWcW_PLCJS_COM-PLC-技.术_网

 
WWW_PLCJS@_COM%-PLC-技.术_网

    环境设置:iClient+iWebServer+IIS4.0。其中IIS提供标准的WWW服务,是在 NT Server环境中的,如在 
P.L.C.技.术.网——可编程控制器技术门户

Workstation 上,可用 Peer Web Service实现。
plcjs.技.术_网

 
WW.W_PLCJS_COM-PLC-技.术_网

    操作原理:实时数据的传播过程是这样的,iClient 将实时数据从iFIX Server的数据库读过来,iWebServer
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

将此数据进行转换,所有 iFIX 标准图形通过 iWebServer 的工具转换成 HTML格式文件和JDF文件,JDF文件中的
plcjs.技.术_网

 Applet 将数据从iWebServer中取出,在标准的浏览器中动态更新。在浏览器中可以显示动态数据,动态图形,
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

实时和历史趋势,报警信息等。用户可以选择 Play Back选项,此功能为微软标准功能,可以回放历史数据和
WWW_PLC※JS_COM-PmLC-技.术_网

历史趋势。IWebServer的数据可以用过代理服务器和网络防火墙。
WWcW_PLCJS_COM-PLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

匿名回复:

本新闻共2页,当前在第11 2  
WWW_P※LCJS_CO※M-PLC-技-.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行