发送失败。
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-技.术_网
DescriptionW1WW_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-技.术_网(可编※程控※制器技术门户)
Resolutionplcjs.技.术_网
WWW_PLCJS_COM-PLC-技.术_网
Declare Function TurnOnSqlTask Lib "missionvba" (ByVal cmd$) As Longplcjs.技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
Turns on a SQL task. The cmd$ parameter is the command line passed to the SQL taskWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Return of 0 is a success. Current logged in user must have security rights to turnWWW_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 stringplcjs.技.术_网
P.L.C.技.术.网——可编程控制器技术门户
Declare Function TurnOffSqlTask Lib "missionvba" () As LongWWW_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 mustWWW_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 stringWWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS_COM-PLC-技.术_网
Declare Function PauseAlarmODBC Lib "missionvba" () As LongWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Pauses the AlarmODBC task. Return of 0 is a success. Current logged in user does NOTWWW_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 ConfigurationWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Utility.P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Private Declare Function ContinueAlarmODBC Lib "missionvba" () As LongW1WW_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 ConfigurationWWW_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 scheduleP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
running in the background.WWW.PLCJS.COM——可编程控制器技术门户
Resolution:STOP / START a EVENT BASED SCHEDULEWWW_PLCJS_COM-PLC-技.术_网
To Start:P.L.C.技.术.网——可编程控制器技术门户
Private Sub CommandButton1_Click()P.L.C.技.术.网——可编程控制器技术门户
Dim Var1 As ObjectWW.W_PLC※JS_C,OM-PL,C-技.术_网
Dim Var2 As ObjectWWW_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.StartEventWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
End SubWWW_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 ObjectWWW_PLC※JS_COM-PmLC-技.术_网
Dim Var2 As ObjectWWW_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.StopEventWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
End SubWWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
STOP / START a TIME BASED SCHEDULEWWW_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 ObjectWWW.PLCJS.COM——可编程控制器技术门户
Dim Var2 As ObjectWWW_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 = FalseWWW_P※LCJS_COM-PLC-)技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
End SubWWcW_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 ObjectWW.W_PLCJS_COM-PLC-技.术_网
Dim Var2 As ObjectWWW_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 = TrueWW.W_PLCJS_COM-PLC-技.术_网
Var2.StartTimerWWW_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 theWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
default printer on the machine.WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
Dim objXL As ObjectWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
Dim myDoc As ObjectWWW_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.CloseWW.W_PLC※JS_C,OM-PL,C-技.术_网
Set objXL = NothingWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Set myDoc = Nothing WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJS_COM-PLC-技.术_网
ReferencesWWW_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 FixWWW_PLC※JS_COM-PmLC-技.术_网
service must run under a user account that has printers defined. See KnowledgeBase Article i013417 for moreWWW.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 syntaxWWW_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-技.术_网(可编※程控※制器技术门户)
ResolutionW1WW_P4LCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
Priority --> Alarm Type --> DescriptionWW.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 detectedWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
1 --> OVER --> Over RangeWWW.PLCJS.COM——可编程控制器技术门户
1 --> UNDER --> Under RangeWWW_PLCJS_COM-PLC-技.术_网
1 --> ERROR --> Any Statistical Data block alarmplcjs.技.术_网
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 stateW1WW_P4LCJS_COM-PLC-技.术_网
2 --> LOLO --> Block in LOLO alarm stateP.L.C.技.术.网——可编程控制器技术门户
3 --> RATE --> Value exceeds rate-of-change settingWWW_PLCJS@_COM%-PLC-技.术_网
3 --> HI --> Block in HI alarm stateWWW_PLCJS_COM-PLC-技.术_网
3 --> LO --> Block in LO alarm stateWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
4 --> DEV --> Deviation AlarmP.L.C.技.术.网——可编程控制器技术门户
5 --> OK --> Block in normal stateWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
plcjs.技.术_网
5:如何禁止和使能7X驱动标签点(对驱动自动禁止特别有用)?WWW_P※LCJS_CO※M-PLC-技-.术_网
Dim opcDriver As New OPCDrv.OPCServerP.L.C.技.术.网——可编程控制器技术门户
Dim objDriver As Objectplcjs.技.术_网
Dim strDRVAcronym As StringP.L.C.技.术.网——可编程控制器技术门户
Dim strProgId As StringWW.W_PLCJS_COM-PLC-技.术_网
Variables for GetChannelWWW_P※LCJS_COM-PLC-)技.术_网
Dim lngNumChannels As LongWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Dim lngChanHandlesP.L.C.技.术.网——可编程控制器技术门户
Dim strChanNamesP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
Variables for GetDevicesWWW.PLCJS.COM——可编程控制器技术门户
Dim lngNumDevices As LongWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Dim lngDeviceHandlesWWW_PLCJS@_COM%-PLC-技.术_网
Dim strDeviceNames——可——编——程——控-制-器-技——术——门——户
Variables for GetDataBlocks——可——编——程——控-制-器-技——术——门——户
Dim lngNumDataBlocks As LongWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim lngDataBlockHandlesWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Dim strDataBlockNamesWW.W_PLC※JS_C,OM-PL,C-技.术_网
Dim i As IntegerWWcW_PLCJS_COM-PLC-技.术_网
Dim j As IntegerWW.W_PLCJS_COM-PLC-技.术_网
Dim lngErrorsWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Dim myvar As LongWWW_PLCJS_COM-PLC-技.术_网
Dim readEnableWWW_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, readEnableWWW_P※LCJS_CO※M-PLC-技-.术_网
对服器1置真WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
If readEnable = "0" Thenplcjs.技.术_网
lngErrors = opcDriver.SetPropertyData(lngChanHandles(1), varProperties, varProperyData)WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
End IfWW.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, readEnableWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
If readEnable = "0" ThenWWW_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, readEnableWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
If readEnable = "0" ThenWWW_P※LCJS_COM-PLC-)技.术_网
For i = 0 To 1WWW_P※LCJS_COM-PLC-)技.术_网
lngErrors = opcDriver.SetPropertyData(lngDataBlockHandles(i), varProperties, varProperyData)plcjs.技.术_网
Next iWW.W_PLCJS_COM-PLC-技.术_网
End IfW1WW_P4LCJS_COM-PLC-技.术_网
Set opcDriver = NothingP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWcW_PLCJS_COM-PLC-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
W1WW_P4LCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
6:iFIX_如何使用脚本实现驱动(7x)的启动和停止?P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
DescriptionWWW※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-技.术_网
Resolutionplcjs.技.术_网
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.ABRServerWW.W_PLCJS_COM-PLC-技.术_网
ABRDriver.StopWWW_P※LCJS_COM-PLC-)技.术_网
Set ABRDriver = NothingWWW_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.StartWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Set ABRDriver = NothingWWW_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.技.术.网——可编程控制器技术门户
DescriptionP_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.技.术.网——可编程控制器技术门户
ResolutionWWW_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 driverWW.W_PLC※JS_C,OM-PL,C-技.术_网
STOP - stop the driver from pollingW1WW_P4LCJS_COM-PLC-技.术_网
STOP_EXIT - stop polling and exit——可——编——程——控-制-器-技——术——门——户
SLEEP - set new sleep time (period)——可——编——程——控-制-器-技——术——门——户
STATUS - displays current valuesWWW_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 driverWWW_P※LCJS_COM-PLC-)技.术_网
acronym must be in ALL CAPS.WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
plcjs.技.术_网
Example from the DOS prompt: dctrl60 START MBRWWW_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.技.术.网——可编程控制器技术门户
ResolutionWWW_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 ObjectWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Dim Var2 As ObjectWW.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.StartEventWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
End SubW1WW_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 ObjectWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim Var2 As ObjectWWW_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.StopEventWWcW_PLCJS_COM-PLC-技.术_网
End SubWWW.PLCJS.COM——可编程控制器技术门户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
STOP / START a TIME BASED SCHEDULEWWW.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 ObjectWWW_PL※CJS_COM-PLC-技.术_网
Dim Var2 As ObjectWWcW_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 = FalseWWW_P※LCJS_COM-PLC-)技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
End SubWW.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 ObjectWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim Var2 As ObjectWWW.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 = TrueWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Var2.StartTimerWWW_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 StringP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWcW_PLCJS_COM-PLC-技.术_网
Dim c As IntegerWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Dim r As IntegerWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim Intyexcel As Excel.ApplicationWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Dim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecondWW.W_PLCJS_COM-PLC-技.术_网
Dim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As StringWWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
++===================================================================WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
报表中的 TAGWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As StringWWW_PLC※JS_COM-PmLC-技.术_网
Dim Items As IntegerWW.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 = 2WWW_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.ConnectionW1WW_P4LCJS_COM-PLC-技.术_网
Dim rsADO As RecordsetP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW.PLCJS.COM——可编程控制器技术门户
Set cnADO = New ADODB.ConnectionWWcW_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.RecordsetWWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimisticWW.W_PLCJS_COM-PLC-技.术_网
如果执行上面的语句出错的话,则最大的可能性就是SQL语句有错误!WWW_PLCJS_COM-PLC-技.术_网
r = 1P.L.C.技.术.网——可编程控制器技术门户
Set Intyexcel = New Excel.ApplicationWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Intyexcel.Visible = FalseWWW.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 StringWW.W_PLCJS_COM-PLC-技.术_网
Dim InReportFile As StringW1WW_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").SelectWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Intyexcel.Columns("A:Z").SelectWWW_P※LCJS_CO※M-PLC-技-.术_网
Intyexcel.Selection.ClearContentsWWW_PLC※JS_COM-PmLC-技.术_网
Intyexcel.Range("A1").SelectWWW_PL※CJS_COM-PLC-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
While rsADO.EOF <> True——可——编——程——控-制-器-技——术——门——户
With Intyexcel.Worksheets(2)WWW_PLCJS@_COM%-PLC-技.术_网
For c = 0 To ItemsWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
If rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c)W1WW_P4LCJS_COM-PLC-技.术_网
Next cplcjs.技.术_网
r = r + 1P.L.C.技.术.网——可编程控制器技术门户
rsADO.MoveNextP.L.C.技.术.网——可编程控制器技术门户
End WithP.L.C.技.术.网——可编程控制器技术门户
WendP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_CO※M-PLC-技-.术_网
Intyexcel.Sheets("Sheet1").SelectWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait xlLandscapeWWW_PLC※JS_COM-PmLC-技.术_网
Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Intyexcel.ActiveSheet.PrintOutWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Intyexcel.DisplayAlerts = FalseWWW.PLCJS.COM——可编程控制器技术门户
Intyexcel.ActiveWorkbook.SaveP.L.C.技.术.网——可编程控制器技术门户
OutReportFile = InReportFile & "_00" & MyMonth & MyDayP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
Intyexcel.ActiveWorkbook.SaveAs OutReportFileWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLC※JS_COM-PmLC-技.术_网
Intyexcel.QuitWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Intyexcel.DisplayAlerts = TrueW1WW_P4LCJS_COM-PLC-技.术_网
Set Intyexcel = NothingWWcW_PLCJS_COM-PLC-技.术_网
Set cnADO = Nothingplcjs.技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
End SubWW.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 VariantWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim strvalue2 As VariantWWW_P※LCJS_CO※M-PLC-技-.术_网
Dim strvalue3 As VariantWWW_PLC※JS_COM-PmLC-技.术_网
Dim strvalue4 As VariantW1WW_P4LCJS_COM-PLC-技.术_网
Dim strvalue5 As VariantWWW_PLCJS_COM-PLC-技.术_网
Dim strvalue6 As VariantWW.W_PLC※JS_C,OM-PL,C-技.术_网
Dim strvalue7 As VariantWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Dim strvaluep As VariantWW.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 = strvalue6plcjs.技.术_网
strvalue6 = strvalue5P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
strvalue5 = strvalue4WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
strvalue4 = strvalue3WW.W_PLCJS_COM-PLC-技.术_网
strvalue3 = strvalue2WWW.PLCJS.COM——可编程控制器技术门户
strvalue2 = strvalue1WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
strvalue1 = Fix32.Fix.J001.a_cvWWW_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 = strvaluepWWW_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 StringWWW_PLC※JS_COM-PmLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
Dim sUserName As StringWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
Dim sGroupName As StringWWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PL※CJS_COM-PLC-技.术_网
System.FixGetUserInfo sUserID, sUserName, sGroupNameWW.W_PLC※JS_C,OM-PL,C-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
Text1.Caption = sUserNameWW.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 LongWWcW_PLCJS_COM-PLC-技.术_网
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As LongWWW.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-技.术_网
音文件,一个个连续的播放,在多个报警同时到来时非常有用。——可——编——程——控-制-器-技——术——门——户
同步函数为:mciSendStringWWW※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 LongP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
用法:WWW_PLC※JS_COM-PmLC-技.术_网
Dim filename as StringP.L.C.技.术.网——可编程控制器技术门户
Dim cmd As StringWW.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-技.术_网
异步函数为:mciSendStringWW.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 LongW1WW_P4LCJS_COM-PLC-技.术_网
用法:WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Dim filename as StringWWW_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.pdfWWW_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_AW1WW_P4LCJS_COM-PLC-技.术_网
的Partner是 SCADA_B,SCADA_B的Partner是SCADA_A。正常情况下,两台SCADA同时读取硬件数据,但是客户端只P.L.C.技.术.网——可编程控制器技术门户
从主服务器读取数据,即客户端只能看到 LINE1来的数据,报警和历史数据采集。iFIX内部有网络变量TAG,SCADA_BWW.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 ServerWWW_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的数据库读过来,iWebServerWWW※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-技.术_网
匿名回复:WWW_P※LCJS_CO※M-PLC-技-.术_网