はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。Sequence MakerはV1.70から仮想インターフェイスというものが追加されました。これは、実際の測定器ではなく、Sequence Maker内にある仮想的な測定器(?)と通信するためのものです。この記事では実際に仮想インターフェイスと通信してみて、使い勝手を確認してみます。なお、Sequence Makerについての詳細は以下の記事を参照ください。
お断り
本記事の内容はSequence Maker開発元の公式見解ではなく、あくまでも個人が趣味の範囲内で執筆しているものです。記事の内容について開発元へ問い合わせることはお控えください。ご質問・要望などは各記事のコメント欄へお願いいたします。
仮想インターフェイス
仮想インターフェイスは、リボンのインターフェイス選択の中にあります。ここで「仮想」を選ぶだけですぐに使えます。
仮想インターフェイスに対しては、通常の測定器と同じようにコマンドの送受信が可能です。例えば、共通コマンドである「*IDN?」を送ってみると、ちゃんと応答が返ってきます!
他にも、「*ESR?」や「*OPC?」、「*TST?」といった共通コマンドにも応答を返します(応答する値は固定)
応答をカスタマイズ
応答内容はカスタマイズすることができます。「コマンド」ボタンを押すとコマンドを定義するウィンドウが表示されます。
例えば、こんな感じにコマンドを定義します。なお「*IDN?」などはここで再定義すると、こちらが優先されます。また、SCPIに準拠した書き方ができるので、コマンドを大文字+小文字で書いておくと、大文字部分だけを省略形(ショートフォーム)として使用できます。
なお、このコマンドと応答の表は、範囲選択してコピペが可能です。定義をExcelのシートにコピペすることもできますし、逆にExcelのシートからこの表にコピペすることもできます。
それでは、実際にコマンド送受信をしてみます。
定義した通りに応答が返ってきていますね。
特別な応答
ところで、デフォルトで入っている1行目の定義は何でしょうか?
実は応答の「${INPUT}」は特殊な応答で、これを書いておくとシーケンス実行時に任意の応答を入力するウィンドウが表示されます。
適当に応答を入れると、セルに出力されます。状況に応じて応答を動的に変えたいような場合に使えますね。
保存と読み込み
定義したコマンドは、ファイルとして保存したり、読み込んだりできます。先ほどの定義を保存してみるとこんな感じのXMLファイルとして出力されます。バックアップしたり、他のユーザーと共有したりできます。
定義を読み込むと、入力済みの内容はクリアされるので注意!
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfVirtualCommand xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VirtualCommand>
<Command>:INPUT?</Command>
<Response>${INPUT}</Response>
</VirtualCommand>
<VirtualCommand>
<Command>*IDN?</Command>
<Response>HOGE,Piyopiyo,123,V1.00</Response>
</VirtualCommand>
<VirtualCommand>
<Command>:FREQuency?</Command>
<Response>100</Response>
</VirtualCommand>
<VirtualCommand>
<Command>:VOLTage?</Command>
<Response>200</Response>
</VirtualCommand>
<VirtualCommand>
<Command>:SPEEd?</Command>
<Response>FAST</Response>
</VirtualCommand>
<VirtualCommand>
<Command>:RANGe?</Command>
<Response>100mOhm</Response>
</VirtualCommand>
<VirtualCommand>
<Command>:日本語も?</Command>
<Response>大丈夫だよ。</Response>
</VirtualCommand>
<VirtualCommand>
<Command />
<Response />
</VirtualCommand>
</ArrayOfVirtualCommand>
SCPIの対応について
これまでの説明で、共通コマンドの「*IDN?」は自分で定義しなくても応答が返ってくるとか、大文字+小文字でコマンドを定義すればショートフォームにも対応するとか書きましたが、これらはSCPIに準拠した動きになっているためです。Sequence Makerの仮想インターフェイスは、デフォルトでSCPI準拠になっているのですが、これはデフォルトでSCPIの設定がONになっているためです。詳細設定の画面でSCPIの✅を外すと、SCPI準拠はOFFとなり、コマンド定義のテーブルには完全一致した場合のみ応答を返すようになります。
ところで、仮想インターフェイスって何に使うの?
- 測定器の実機が無い状態で、シーケンスだけ先に組んでおきたいような場合のデバッグ用途
- 測定器は無いけれど、カメラ機能だけを使いたいとき
- 測定器は無いけれど、CONTECのデジタル入出力ユニットだけを使いたいとき
- etc...
まとめ
今回は仮想インターフェイスについて紹介してみました。一般的な用途ではあまり使う機会が無いかもしれませんが、ふとしたときに便利な機能なので、ぜひお試しください。