DIAdemからLabVIEW VIに値を入力し結果を表示させる

更新しました May 27, 2021

使用製品

ソフトウェア

  • DIAdem
  • LabVIEW

問題

DIAdemのスクリプトからLabVIEW VIを呼び出して、VIに値を入力し実行結果をDIAdemで表示させることはできますか?

解決策

DIAdemからLabVIEW VIを呼び出すスクリプトの例を以下に示しています。
Option Explicit   'スクリプト内のすべての変数の明示的な宣言を強制します。
Dim lvapp, vi, viPath, paramName(5), paramVal(5) 'paramName(N), paramVal(N)のNには使用するパラメタの数を入れます
Set lvapp = CreateObject("LabVIEW.Application")
viPath = "VIPATH" '操作したいVIのパスを指定します
Set vi = lvapp.GetVIReference(viPath)
vi.FPWinOpen = True
paramName(0) = "InputNum"
paramVal(0)  = 10
paramName(1) = "InputTF"
paramVal(1) = True
paramName(2) = "InputString"
paramVal(2)  = "Example"
paramName(3) = "OutputNum"
paramName(4) = "OutputTF"
paramName(5) = "OutputString"
Call vi.Call(paramName, paramVal)
Call lvapp.Quit()
MsgBox ("OutputNum = " & paramVal(3) & " OutputTF = " & paramVal(4) & " OutputString = " & paramVal(5))

このスクリプトでは、以下のようなLabVIEW VIを使用することを想定しています。
diademcalllv.png
上記のスクリプトでこのVIを指定して実行することにより、下記のような結果を得ます。
diademcalllvresult.png
 

追加情報

スクリプト内で指定する制御器および表示器は、LabVIEW VI内でコネクタペーンに割り当てられている必要があります。
また、DIAdem 64 bit版を使用している場合には、LabVIEW 64 bit版を使用して実行することになるため、同じビット数のLabVIEWアプリケーションがPCにインストールされている必要があります。