DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

String-Daten aus DAC-Scriptblock empfangen?

Gibt es irgend eine Möglichkeit, um nichtnumerische Daten, die innerhalb eines Scripblocks anfallen, zu empfangen?

Die Datenleitungen können nur numerische Werte (grüne Leitungen) übertragen. Die Kanlal oder Scriptparameter können nur Daten an das Script übergeben, jedoch keine Daten empfangen. Ich benötige aber einen Weg, um einen innerhalb der Scriptbearbeitung anfallenden String (es ist ein Pfad)  irgendwie zu empfangen.

In meiner Verzweifelung habe ich in Abwandlung eines Beispiels aus der Hilfe versucht, Daten über eine OLE bzw. ActiveX -Verbindung in den Datenbereich zu schaufeln. Hier der relevante Ausschnitt:

Function ConnectToDIAdem
'Create the DIAdem object
  Dim nValueT
  ConnectToDIAdem = 0
    On Error Resume Next
    Set oDIAdem = CreateObject("DIAdem.TOCommand")
    If Err.Number > 0 then
      MsgBox ("Err No " & CStr(Err.Number) & " " & Err.Description)
      Err.Clear
    Else
      oDIAdem.bNoErrorDisplay = true
      oDIAdem.bNoWarningDisplay = true
      ConnectToDIAdem = 1
    End If
End Function

Sub DisconnectFromDIAdem
'Destroy the DIAdem object
  Set oDIAdem   = Nothing
End Sub

Dim oDIAdem
Sub SFD_Init( DeviceParam1V, DeviceParam2V, ErrorP )
    Const strCanNotStart = "An error has occurred while executing the example."

'Execute the DIAdem command
        Dim Exe_All, Exe_One, Exe_Type, Para
    If ConnectToDIAdem Then
        If oDIAdem.CmdExecuteSync("ChD(2,2) = 15" ) <> 1 Then
           MsgBox strCanNotStart
        End If
        oDIAdem.CmdExecuteSync("WndShow('SHELL','Show')")
        Call DisconnectFromDIAdem
    Else
        MsgBox strCanNotStart
    End If
   
End Sub

Beim Start des DAC-Plans (mit Scriptblock) stürtzt zunächst Diadem kommentarlos ab. Beim Versuch, Diadem mit dem Task-manager zu beenden, gibt es promt ein reset des Rechners. (Win2000)

--
Ich poste in Deutsch, da Diadem-DAC ohnehin nur im deutschsprachigem Raum verbreitet sein dürfte.

0 Kudos
Message 1 of 3
(3,648 Views)

>Ich poste in Deutsch, da Diadem-DAC ohnehin nur im deutschsprachigem Raum verbreitet sein dürfte.

I just want to say that there are a number of DIAdem - DAC users in non germanspeaking countires so personally I would prefer english since there are many interesting topics in this forum... (I use http://babelfish.altavista.com sometimes to translate but it's not so good..)

0 Kudos
Message 2 of 3
(3,640 Views)
Hallo,

Im Script als solches ist nur ein kleiner Fehler: Die Zuweisung eines Wertes an die CHD Variable muss mit einem := erfolgen.
Wenn Sie dies ändern, lässt sich das Programm im DIAdem SCRIPT ausführen.

Was man allerdings vermeiden sollte ist, die DIAdem.ToCommand Schnittstelle aus dem Script-DAC Treiber aufzurufen. Ein Zugriff auf die Datenmatrix ist aus dem Treiber generell nicht möglich, auch nicht auf diesem Umweg. Allerdings hängt der Programmfehler nicht mit der ChD Variable zusammen, der ActiveX Zugriff auf die DIAdem API aus diesem Kontext führt alleine schon zu Problemen.

Um die Strings Ihres Messgerätes verwerten zu können, müssten Sie diese während der Messung in einer Datei ablegen. FileIO ist im Script DAC Treiber Kontext gestattet.

MfG
Ingo Schumacher
Systems Engineering Manager CEERNational Instruments Germany
0 Kudos
Message 3 of 3
(3,590 Views)