DIAdemを他言語から制御する
1. LabVIEWからDIAdemを開く
AttachmentsのOpenDIAdem.viを使用します。このVIではDIAdemのリファレンスを取得し、LabVIEWから送信したVBScriptのコマンドをDIAdemで実行しています。このVIを実行するとDIAdem上で"Hello, DIAdem from LabVIEW"というメッセージボックスが表示されます。
2. VBScriptからDIAdemを開く
下記のVBScriptをメモ帳などにコピーし、*.vbs形式で保存します。保存した*.vbsファイルをダブルクリックして実行すると、DIAdem上で"Hello, DIAdem from VBScript"というメッセージボックスが表示されます。
Dim DIAdem
set DIAdem = CreateObject("DIAdem.TOCommand")
DIAdem.bDontCloseApplication = true
DIAdem.CmdExecuteSync("wndshow('shell','MAXIMIZE')")
DIAdem.CmdExecuteSync("msgboxdisp(""Hello, DIAdem from VBScript"")")
3. PythonからDIAdemを開く
下記のpythonコードをVisualStudio Code等で実行します。このコードを試すにはwim32comが必要となります。詳細な手順は
こちらの資料 確認できます。
import win32com.client
DIAdem = win32com.client.Dispatch("DIAdem.ToCommand")
DIAdem.bDontCloseApplication = True
success, dd = DIAdem.VariantVarGet("Application")
dd.wndshow("shell","MAXIMIZE")
dd.msgboxdisp("Hello, DIAdem from Python.")
実行すると、DIAdem上で"Hello, DIAdem from Python"というメッセージボックスが表示されます。
4. JavaScriptからDIAdemを開く
下記のスクリプトをメモ帳などにコピーし、*.html形式で保存します。
<html>
<head>
<script language="JavaScript" type="text/javascript">
function OpenDIAdem()
{
var DIAdem = new ActiveXObject("DIAdem.TOCommand");
DIAdem.bDontCloseApplication = true
DIAdem.CmdExecuteSync("wndshow('shell','MAXIMIZE')")
DIAdem.CmdExecuteSync("msgboxdisp(\"Hello, DIAdem from JavaScript\")")
}
</script>
</head>
<body>
<button onclick="OpenDIAdem()"><font size="5" color="#119911">Open DIAdem</font></button>
</body>
</html>
上記の手順で作成した*.htmlファイルをInternetExplorerで開き、Open DIAdemのボタンを押すとDIAdemが起動し、"Hello, DIAdem from JavaScript"というメッセージボックスが表示されます。
ただし、こちらの手順はブラウザのセキュリティやPCのセキュリティに強く監視されており、多くの場合下記の様な警告が発生します。また、こちらの手順については使用できない環境、ブラウザがとても多い点に注意が必要です。
LabVIEWを他言語から制御する
1. DIAdem(VBScript)からLabVIEWを開く
下記のVBScriptをメモ帳などにコピーし、*.vbs形式で保存します。また、VBScriptが保存されているフォルダにLabVIEWで実行するVIをsample.viという名前で保存し、VBSファイルをダブルクリックもしくはDIAdem上で実行すると、LabVIEWが開き、sample.viが実行されます。
Option Explicit
Dim lvapp, vipath, viref
Set lvapp = CreateObject("LabVIEW.Application")
vipath = currentscriptpath + "sample.vi"
Set viref = lvapp.getvireference(vipath)
viref.FPWinOpen = True
pause 1
viref.run
2. PythonからLabVIEWを開く
下記のpythonコードのvipathの部分にLabVIEWで実行するVIの絶対パスを入力し、VisualStudio Code等で実行します。VIのパスの記述の際はエスケープ文字を適切に使用する必要があります。このコードを試すにはwim32comが必要となります。
import win32com.client
import os
wd = os.getcwd()
lvapp= win32com.client.Dispatch("LabVIEW.Application")
vipath = "C:\\Users\\username\\Desktop\\sample.vi"
viref = lvapp.getvireference(vipath)
viref.FPWinOpen = True
viref.run