InstrumentLink — Windows 11・MDO34導入手順
試用版 0.0.4(2026-10-15)。MDO34をUSB接続してPNG画面を保存するためのVS Code拡張です。Python 3.9.4対応版です。パブリッシャーはtkworks、拡張機能IDはtkworks.instrumentlinkです。導入手順はWindowsの**コマンドプロンプト(cmd.exe)**向けです。Windows実機での動作確認は保留中です。
| 操作 |
実機MDO34 |
MDO34模擬モード |
| USB検索・識別、PNG保存 |
確認対象 |
合成機器・16×16の灰色画像 |
| CSV・条件JSON、PNG+CSV一括 |
未対応 |
1024点の合成三角波、CH1~CH4 |
| 同名画像・CSVの上書き |
中止して原本を保護 |
原本退避・復元付き |
| 詳細ログの手動JSON保存 |
利用可能 |
利用可能 |
CSVの実測値保存、Math、画像クリップボードコピー、強制終了後の自動復旧は未対応です。DHO804の処理も含まれますが、今回の確認対象はMDO34です。STOP/RUNやチャンネル表示は操作しません。
配布ファイルと必要環境
配布フォルダのinstrumentlink-0.0.4.vsix・README.md・requirements.lockを同じフォルダへコピーしてください。VSIXに拡張本体とPythonブリッジを同梱しているので、Gitリポジトリ、Node.js、開発用フォルダは作業PCに不要です。
- Windows 11 x64、デスクトップ版VS Code 1.96以降。WSL内ではなくWindows側で使用します。
- Python 3.9.4 x64。
3.9系列の別版ではなく、下記コマンドで3.9.4を確認してください。Python本体と依存パッケージはVSIXに含めません。
- MDO34本体、USB device端子へ接続するUSBケーブル、ローカルの保存フォルダ。
- Python依存の初回導入にはインターネット接続が必要です。以下はオフライン導入一式ではありません。
1. Python環境を準備する
Python 3.9.4 x64を用意します。導入済みなら、そのPythonを使用します。Python公式の3.9.4配布ページではWindows installer (64-bit)が対象です。
Windowsのスタートメニューで「コマンドプロンプト」を検索するか、Win+Rでcmdと入力して開きます。VS Code内ではターミナルのプロファイルをCommand Promptにします。通常のユーザー権限で実行できます。
以下は同じコマンドプロンプトで、順番に1行ずつ実行してください。echo %ERRORLEVEL%が0なら次へ進みます。0以外やエラーが出た場合は、その手順で止めて原因を確認してください。コードブロックをまとめて貼り付ける手順ではありません。
1-1. 配布フォルダを開き、Pythonの版を確認する
ZIPを展開したフォルダへ移動します。下のパスは実際にrequirements.lockがあるフォルダへ置き換えてください。/dを付けることで、別ドライブにも移動できます。
cd /d "C:\実際の展開先\instrumentlink-0.0.4"
echo %ERRORLEVEL%
dir requirements.lock
py -3.9 -c "import sys, struct; print(sys.version); print(struct.calcsize('P') * 8); assert sys.version_info[:3] == (3, 9, 4) and struct.calcsize('P') == 8, 'Python 3.9.4 x64 is required'"
echo %ERRORLEVEL%
Pythonの出力が3.9.4・64であることを確認します。py -3.9で別の3.9版が選ばれる場合はpy -0pで導入先を確認します。py自体がない場合はPythonの導入先を確認し、以下を含むpy -3.9の部分を"C:\実際のPython導入先\python.exe"へ置き換えてください。
1-2. InstrumentLink用の仮想環境を用意する
旧版のPython 3.11環境と分けるため、VisaScope\venv-py394を使用します。set "名前=値"の外側の引用符は、空白を含むパスを安全に指定するためのものです。
set "VSCOPE_VENV=%LOCALAPPDATA%\VisaScope\venv-py394"
if not exist "%VSCOPE_VENV%" py -3.9 -m venv "%VSCOPE_VENV%"
echo %ERRORLEVEL%
set "VSCOPE_PYTHON=%VSCOPE_VENV%\Scripts\python.exe"
"%VSCOPE_PYTHON%" -c "import sys, struct; print(sys.version); assert sys.version_info[:3] == (3, 9, 4) and struct.calcsize('P') == 8, 'Wrong virtual environment'"
echo %ERRORLEVEL%
既存フォルダがある場合は作成を省略し、その環境の版を検査します。python.exeが見つからない場合や別版の場合は先へ進まず、VSCOPE_VENVに未使用の別フォルダを指定してこの節をやり直してください。既存環境を削除したり、上から作り直したりする必要はありません。仮想環境のactivateは不要です。
1-3. 固定した依存を導入する
Python 3.9.4で使用するpipを指定してから、同梱の依存一覧を導入します。それぞれの終了コードを確認してください。
"%VSCOPE_PYTHON%" -m pip install --upgrade pip==24.0
echo %ERRORLEVEL%
"%VSCOPE_PYTHON%" -m pip install -r requirements.lock
echo %ERRORLEVEL%
"%VSCOPE_PYTHON%" -m pip check
echo %ERRORLEVEL%
VSIXだけを入手した場合は、requirements.lockを使う行だけを次へ置き換えます。フォルダ移動・dir requirements.lockは不要ですが、Pythonの版確認、仮想環境、pipの準備、pip checkは同じです。
"%VSCOPE_PYTHON%" -m pip install PyVISA==1.14.1 PyVISA-py==0.7.2 PyUSB==1.3.1 libusb-package==1.0.30.0 typing_extensions==4.16.0 importlib_resources==6.5.2 zipp==3.23.0
echo %ERRORLEVEL%
1-4. 読み込みを確認してPython Pathを控える
"%VSCOPE_PYTHON%" -c "import pyvisa, pyvisa_py, usb, libusb_package; print('imports OK'); available = libusb_package.get_libusb1_backend() is not None; print('libusb available:', available); assert available, 'libusb backend is unavailable'"
echo %ERRORLEVEL%
echo %VSCOPE_PYTHON%
pip checkが依存関係の不整合なし、最後の検査がimports OK・libusb available: True・終了コード0になればPython側の準備ができています。この検査は機器へ通信せず、USBドライバがMDO34を開けることまでは保証しません。
最後に表示されたC:\Users\…\AppData\Local\VisaScope\venv-py394\Scripts\python.exeを控え、VS CodeのPython Pathに指定します。%VSCOPE_PYTHON%という文字列ではなく、表示された絶対パスを入力してください。旧版のVisaScope\venvを使っていた場合も切り替えます。setの変数は現在のコマンドプロンプトだけで有効なので、閉じて開き直した場合は1-2の変数設定を再実行してください。
依存導入がネットワーク制限で止まる場合は、作業PCの管理方針に沿ったプロキシ・配布方法を確認してください。Python 3.9.4と固定依存によるMacでの模擬動作は検証済みですが、Windows上のコマンド実行・USBドライバ・MDO34の実応答は未検証です。
2. VSIXをインストールして模擬動作を確認する
- VS Codeの拡張機能ビュー(Ctrl+Shift+X)右上の「…」から VSIXからのインストール / Install from VSIX… を選び、
instrumentlink-0.0.4.vsixを指定します。求められたらウィンドウを再読み込みします。
- PNG/CSVパネルを開く前に、設定(Ctrl+,)で
visaScopeを検索します。ユーザー設定の Python Path に、手順1のPython実行ファイルの絶対パスを指定します。引用符は付けません。
- Simulate をオン、Simulate Model を
MDO34にします。未設定の初期値は実機モード(Simulateオフ)です。
- コマンドパレット(Ctrl+Shift+P)で InstrumentLink: PNG・CSV取得パネルを開く を実行します。エクスプローラー内にパネルが表示され、初回に検索します。
SIMULATION / MDO34 / SIM-ONLYと模擬モードの案内を確認します。出ない場合は「再検索」を押します。
- 「PNGを保存」で新しいローカルフォルダと基準名を選び、容量確認で「続行」を押します。16×16の灰色PNGが作成されれば模擬動作は成功です。実機画面ではありません。
設定JSONを直接編集する場合の例です。ユーザー名を自分の環境に置き換えてください。JSON内の\は\\と書きます。%LOCALAPPDATA%や~は設定値の中では展開されません。
{
"visaScope.pythonPath": "C:\\Users\\YOUR_NAME\\AppData\\Local\\VisaScope\\venv-py394\\Scripts\\python.exe",
"visaScope.simulate": true,
"visaScope.simulateModel": "MDO34"
}
VSIXの導入方法はVS Code公式手順にも記載されています。
実機確認が保留中の間は、ここまでの模擬モードで使用してください。以下の3〜4節は実機確認を再開するときの手順です。
3. WindowsのUSBドライバを確認する
この版はPyVISA-py(@py)+PyUSB+libusbを使用します。NI-VISA/TekVISAを選択する設定はありません。メーカーのVISA環境だけを導入しても、この版から接続できるとは限りません。
WindowsではMDO34のUSBTMCインターフェースに、libusbから利用できるWinUSB等のドライバが必要です。デバイスマネージャーでMDO34に対応するデバイス・ドライバを確認します。既に互換ドライバで使える場合は変更不要です。対応する機器を開いているメーカーソフトや他のVISAツールは閉じてください。
接続できずドライバ変更が必要な場合は、作業PCの管理者と確認して実施してください。PyVISA-py公式には、ZadigでWinUSBへ切り替える方法が案内されています。変更する際はMDO34の対象インターフェースだけを選び、元のドライバ名・版と戻し方を記録してください。既存のメーカー計測ソフトから使えなくなる場合があるため、他のUSB機器やインターフェースを変更しないでください。このパッケージがドライバを自動変更することはありません。
根拠:PyVISA-pyのUSB導入条件、libusbのWindowsドライバ案内、PyUSBのlibusb導入案内。
4. MDO34の実機PNGを保存する
- MDO34の電源を入れ、背面のUSB device端子とPCを接続します。USBメモリ用のhost端子には接続しません。最初はローカル保存先で、新しい名前を使います。
- 本体の表示画面、画像形式、InkSaverの状態を控えます。必要なら利用者が本体をSTOPにしてください。拡張はSTOP/RUNを変更しません。
- VS Code設定の Simulateをオフ にして、パネルの「再検索」を押します。
TEKTRONIX / MDO34と本体のシリアル・ファームウェア表示を確認し、対象を選びます。SIMULATIONやSIM-ONLYなら実機確認になりません。
- 「PNGを保存」を押し、保存フォルダ、拡張子を除く基準名を指定します。初期名は
001_日時_MDO34です。
- 容量確認で「続行」を押し、保存成功通知を待ちます。画像上限は64 MiBで、管理領域等を含む全必要量は未確定です。既知の不足があれば中止します。
- 保存PNGを自分で開き、灰色の模擬画像ではなく本体の画面全体が保存されたこと、文字・波形・色・画像寸法を確認します。本体の画像形式とInkSaverが元に戻ったことも確認します。
- 新しい名前でもう1枚保存して、連続取得を確認します。連番を使用した成功時だけ次回番号が1つ進みます。同名の実機PNGは上書きせず中止します。
MDO34では必要に応じて画像形式をPNG、InkSaverをOFFへ一時変更し、取得後に復元を照会します。チャンネル表示や演算設定は操作しません。「キャンセル」は通信の区切りで受け付け、応答を読み終えて復元・整理するまで待つことがあります。
復元未確認や残存ファイルが通知された場合は、通知のパスと本体の設定を確認してから「状況を確認した」を押します。取得中のUSB抜去、VS Code強制終了、電源断からの自動復旧は保証していません。最初の確認は正常な検索・保存・連続取得から行ってください。
5. ログと確認結果を持ち帰る
取得後にパネル下部の ログをJSON保存 を押し、保存先を選びます。操作開始時点のログが読取専用表示され、UTF-8のJSONへ保存されます。ログは起動中の直近500件で、再起動すると消えるので終了前に保存してください。PNG本体やCSVの全データはログに含まれません。保存先・エラー説明・機器識別を含むことがあるため、共有前に内容を確認してください。
実機確認後は、Windows・VS Code・Pythonの版、MDO34のファームウェア、USBドライバ、保存したPNG、ログJSON、正常保存/連続保存/取消で観察した結果を記録してください。未実施の操作は未実施と記載します。模擬確認やMacでの検証をWindows実機の成功に置き換えないでください。
困ったとき
| 状況 |
確認すること |
| Pythonの設定を求められる/起動できない |
Python Pathは実行ファイルの絶対パスか。フォルダ・引用符・%LOCALAPPDATA%を指定していないか。 |
| 拡張が無効/パネルを開けない |
VS CodeがRestricted Modeの場合、自分で作成した作業フォルダの内容を確認して信頼するか、信頼済みの作業フォルダで開く。 |
| 模擬検索も失敗する |
手順1のimport検査とpip checkを、設定した同じPythonで実行。依存導入後に「再検索」。 |
| 実機が見つからない/識別失敗 |
Simulateオフ、USB device接続、対応ドライバ、他ソフトによる占有、機種を確認。 |
| メーカーソフトでは認識するが拡張では認識しない |
この版はメーカーVISAではなく@py固定。USBドライバ互換性を確認。 |
| 保存できない |
新しい名前、書込可能なローカルフォルダ、空き容量、残存物の確認欄を確認。 |
| 取消後にすぐ操作できない |
応答の読み切り・設定復元・ファイル整理の完了を待つ。復元未確認なら本体も確認。 |
| CSV・一括ボタンが使えない |
実機では未対応。模擬CSVは実測値ではない。 |
更新・削除とライセンス
旧IDのtkworks.vscopeまたはbotchan007.visa-scopeからは別の拡張としてインストールされます。旧版を導入済みの場合は、拡張機能ビューで旧版を無効化またはアンインストールしてからtkworks.instrumentlinkを導入し、ウィンドウを再読み込みしてください。旧版との同時有効化は避けてください。設定キーはvisaScope.*を維持しているため、Python PathとSimulate設定を引き継げます。保存先の記憶は引き継がれない場合があるため、初回保存時に確認してください。
更新版も「VSIXからのインストール」で導入し、必要に応じて再読み込みします。Python仮想環境は拡張の外にあります。既に3.9.4用環境を使っている場合は更新後も同じパスを使用できますが、0.0.3の3.11用環境から移行する場合は手順1の新しい環境へ切り替えてください。アンインストールはVS Codeの拡張機能ビューから行います。保存データと自分で用意したPython環境は自動削除されません。
拡張本体・同梱ブリッジはMIT License。Python本体、PyVISA、PyVISA-py、PyUSB、libusb-package等は別途導入する外部ソフトウェアで、それぞれのライセンスが適用されます。本VSIXに第三者のPython環境・USBドライバ・開発用依存は同梱しません。