実験装置の仕様書を見ると、USB、RS-232、Ethernet、API、SDKといった言葉が並びます。しかし、これらは同じ階層の選択肢ではありません。USBやRS-232は主に装置とコンピューターをつなぐ通信経路、APIはソフトウェアから機能を呼び出す契約、SDKはAPIを利用するためのライブラリや資料を含む開発キットです。
この記事で学べること
- USB・RS-232・Ethernet・API・SDKがそれぞれ何を意味するか
- 「USB対応」だけでは自動制御できるか判断できない理由
- SCPI、VISA、メーカーSDK、SiLA 2、LADSの位置付け
- 距離、装置台数、データ量、保守性から接続方式を選ぶ方法
- インターフェース選定を7段階で進める実務手順
- 装置調達、PoC、受入試験で確認すべき項目
結論から言うと、良いインターフェースとは最も高速なものではなく、必要な機能を、十分な速度と信頼性で、長期間保守できる形で提供するものです。USB、RS-232、Ethernetの比較だけで決めず、その上で動くコマンド体系、API、ドライバー、エラー処理、再接続、版管理まで確認してください。
最初に4つの層へ分ける
装置接続を次の4層に分けると、議論が整理できます。
| 層 | 決めること | 例 |
|---|---|---|
| 1.物理・リンク | どの媒体と電気的方式で接続するか | USB、RS-232、Ethernet、GPIB |
| 2.トランスポート | データをどう届け、接続をどう管理するか | TCP、UDP、USB Bulk転送、シリアル通信 |
| 3.装置プロトコル | 命令、応答、エラーをどう表すか | SCPI、Modbus、メーカー独自コマンド |
| 4.ソフトウェアIF | アプリケーションからどう呼び出すか | REST API、gRPC、DLL、Python package、SDK、VISA |
たとえば「Ethernet対応」は、LANケーブルを接続できることしか保証しません。TCPのポート、装置コマンド、認証、接続数、API仕様が分からなければ、自動化ソフトウェアは作れません。
反対に、同じSCPIコマンドをRS-232、USB、LANのいずれでも送れる計測器があります。IVI FoundationはSCPIをハードウェア非依存のソフトウェア標準と説明し、GPIB、RS-232、VXIbus、LANなどで利用できるとしています[1]。
実験自動化で使われる規格全体の関係は、実験自動化の通信・制御・標準を整理するも参照してください。
USB:近距離で扱いやすいが、方式の確認が必要
USBは、装置と一台のコンピューターを近距離で接続するときに便利です。電源供給、機器の識別、Plug and Play、比較的大きなデータ転送を一つのケーブルで扱える場合があります。USB-IFはUSBの基本仕様、コネクター、Device Class、試験仕様を別々に公開しています[2]。
USBの利点
- PCへ直接接続しやすい
- 装置を識別してドライバーを割り当てられる
- 画像、波形、スペクトルなど比較的大きなデータにも使える
- USBTMC対応計測器ならVISAから扱える場合がある
確認すべき点
「USB端子がある」だけでは不十分です。装置がUSBTMC、仮想COMポート、Mass Storage、HID、メーカー独自Device Classのどれとして動くかを確認します。USB-IFの文書ライブラリにもUSB Test and Measurement Class(USBTMC)がDevice Class仕様として掲載されています[2]。
USB-Cはコネクター形状です。同じUSB-C端子でも、対応するデータ転送速度、USB Power Delivery、代替モードは製品とケーブルで異なります。最新のUSB Type-C Cable and Connector SpecificationはRelease 2.5として公開されていますが、装置調達では規格番号より、実際に実装するデータモードと必要ケーブルを確認する方が重要です[3]。
USBが向く場面
装置と制御PCが同じ机にあり、1対1で接続し、高速なデータ回収が必要な顕微鏡、カメラ、分光装置などです。ただし、多数のUSB装置を一台のPCへ集約すると、ポート番号、帯域、電力、Hub、抜き差し後の識別、排他利用が問題になります。
RS-232:低速でも長く使える、単純で明示的な接続
RS-232は古い技術ですが、分析装置、天びん、ポンプ、温調器などで現在も使われています。DTEとDCEの間でシリアルデータを交換するためのインターフェースで、ITU-T V.24にはDTEとDCE間の相互接続回路の定義が示されています[4]。
RS-232の利点
- 実装が比較的単純で、通信内容を観察しやすい
- 装置の世代が古くても仕様が安定していることが多い
- 短いASCIIコマンドや低頻度の値取得に十分
- ネットワーク設定や証明書を必要としない
実務で起きやすい問題
通信にはボーレート、データビット、パリティ、ストップビット、フロー制御、終端文字の一致が必要です。コネクターがD-sub 9ピンでも、配線、DTE/DCE、ストレート/クロス、使用信号が同じとは限りません。USB–シリアル変換器を使う場合は、OS更新後のドライバー、COMポート番号、変換チップの個体差も管理します。
さらに、RS-232は通常1対1接続です。長距離、電気ノイズの大きい環境、複数機器を同じバスへ接続する用途では、RS-422やRS-485、Ethernetなども比較対象になります。
RS-232が向く場面
送受信するデータが小さく、接続装置が固定され、長期安定運用を重視する天びん、シリンジポンプ、単純な温調器などです。通信速度だけで除外せず、メーカーがコマンド仕様を公開し、長期供給されるかを評価してください。
Ethernet:複数装置と遠隔接続に強いが、ネットワーク設計が必要
EthernetはIEEE 802.3で標準化されるネットワーク技術です。IEEE 802.3 Working Groupは、IEEE Std 802.3-2022を基礎とする保守・改訂を継続しています[5]。Ethernet上ではTCP/IP、HTTP、gRPC、OPC UA、HiSLIP、メーカー独自プロトコルなど、さまざまな通信を利用できます。
Ethernetの利点
- 装置と制御PCを離して設置できる
- Switchを介して多数の装置を接続できる
- 複数のClientや中央サーバーから利用できる可能性がある
- 既存の監視、認証、ログ、時刻同期の仕組みを利用しやすい
TCPかUDPか
TCPは信頼性のある順序付きByte Streamを提供し、現在の標準仕様はRFC 9293です[6]。装置コマンド、設定、結果転送ではTCPが使われることが多い一方、TCPがアプリケーション処理の完了や装置動作の成功まで保証するわけではありません。要求ID、応答、タイムアウト、再接続後の照合が必要です。
UDPはメッセージ配送や順序を保証せず、簡素なデータグラムサービスを提供します[7]。低遅延のストリーミングやDiscoveryに使われる場合がありますが、欠損、重複、並べ替えへの対策はアプリケーション側の責任です。
ネットワーク接続で確認すること
- 固定IP、DHCP、DNS、ホスト名のどれを使うか
- TCP/UDPのポート番号とFirewall
- 同時接続できるClient数と排他制御
- TLS、証明書、ユーザー認証、権限
- 通信断後も装置処理が継続するか
- 再接続時に実行状態と結果を照合できるか
- 時刻同期とタイムスタンプの基準
Ethernetが向く場面
装置数が多い、制御PCから離れている、中央監視したい、複数システムでデータを利用したい場合です。ただし、研究所のIT/OTネットワークへ接続するには、資産登録、VLAN、Firewall、証明書、パッチ適用、脆弱性対応まで含めた運用設計が必要です。
API:ソフトウェアが利用する「契約」
APIは、ソフトウェアから装置やサービスの機能を呼び出すための契約です。通信経路がUSBかEthernetかとは別の話です。APIには、ローカルDLL、COM、共有ライブラリ、REST、gRPC、OPC UA Method、SiLA 2 Featureなど、さまざまな形があります。
良いAPIで確認したいこと
- 命令、入力、出力、単位、許容範囲が明確
- 同期処理と長時間処理を区別できる
- 進捗、取消し、完了、エラーを取得できる
- 要求を一意に識別し、二重実行を防げる
- 装置状態と実行中の処理を再接続後に確認できる
- 版と互換性方針が公開されている
HTTPでJSONを返すだけでは、実験装置向けAPIとして十分とは限りません。測定開始後に通信が切れた場合の状態確認、巨大ファイルの取得、排他制御、装置Busy、不正パラメーター、非常停止との責任境界を確認します。
SDK:開発を速めるが、依存関係も増やす
SDKはSoftware Development Kitの略で、APIライブラリ、ヘッダー、サンプルコード、ドキュメント、ツール、場合によってはドライバーをまとめたものです。メーカーSDKを使うと、複雑な独自通信を短期間で利用できます。
SDKの利点
- 装置固有機能を利用しやすい
- メーカー提供の型、エラー、サンプルを再利用できる
- 通信プロトコルを一から実装せずに済む
SDKのリスク
- Windows限定、特定CPU、特定言語などの制約
- Python/OS/ランタイム更新への追従遅れ
- 非同期処理や複数装置対応の不足
- 再配布条件、ライセンス、サポート期間の制約
- SDK更新でAPIや動作が変わる可能性
SDKを採用する場合は、業務コードから直接呼び出す箇所を限定し、自社のAdapter層で包みます。上位ワークフローはAdapterの安定したAPIだけを使うようにすると、SDKの差し替えや装置更新の影響を小さくできます。
VISAは何を共通化するのか
VISAはVirtual Instrument Software Architectureの略で、計測器とのI/Oを共通的に扱うための仕様です。IVI FoundationはVISA Library、テキスト言語、.NET、COM、USB、PXIなどに関する仕様を公開しています[8]。
たとえば、アプリケーションはVISA Resource Nameを使い、GPIB、USB、TCP/IP、Serialなどの資源を開きます。装置がSCPIを受け付けるなら、接続方式が変わっても同じようなWrite/Read処理にまとめられる場合があります。
ただしVISAは、すべての装置機能を同じ意味へ変換する規格ではありません。コマンド、単位、状態、結果の意味はSCPIやメーカー仕様で確認します。IVI Foundationは2025年に新しいDriver仕様を公開し、IVI Generation 2026としてPythonを含むDriver仕様を掲載しています[8]。利用するVISA実装やDriverの対応OS・版は導入時点で確認してください。
比較表:どの方式が向くか
| 観点 | USB | RS-232 | Ethernet | メーカーAPI/SDK |
|---|---|---|---|---|
| 典型的な距離 | 同じ机・近距離 | 近距離~装置室内 | 部屋・建屋・ネットワーク範囲 | 基盤となる通信に依存 |
| 装置台数 | PCポート/Hubに依存 | 通常1ポート1台 | Switchで多数接続可能 | ライセンス・SDK設計に依存 |
| データ量 | 中~大に対応しやすい | 小規模向き | 中~大、遠隔転送 | 実装に依存 |
| 導入しやすさ | PC直結は容易 | 設定が明確なら容易 | ネットワーク調整が必要 | サンプルと資料の品質に依存 |
| 遠隔管理 | 基本的にPC経由 | Gatewayが必要 | 対応しやすい | ネットワークAPIなら容易 |
| 長期保守 | Driver・識別管理 | 仕様が安定しやすい | セキュリティ運用が必要 | OS・言語・ライセンス依存 |
| 主な注意 | Device Class、Hub、抜き差し | 通信条件、配線、終端文字 | IP、Firewall、認証、再接続 | 版、互換性、ベンダーロックイン |
この表は一般的な傾向です。実際の距離、速度、安定性は規格の版、ケーブル、装置、Driver、実装、設置環境に左右されます。
用途別の選び方
例1:天びんから測定値を取得する
一回のデータが数十Byteで、装置とPCが近く、測定頻度も低ければRS-232で十分な場合があります。重要なのは終端文字、安定判定、単位、ゼロ点、オーバーロード、タイムアウトです。新規装置でUSBTMCやLAN APIが安定して提供されるなら、それらも比較します。
例2:顕微鏡画像を連続取得する
データ量が大きく、専用カメラや制御PCが必要なら、USB 3系、Ethernet、メーカーSDKが候補です。平均帯域だけでなく、連続取得時の欠落、Buffer、保存速度、CPU負荷、時刻同期を試験します。
例3:複数の反応装置を中央監視する
装置数が多く、別室から状態を監視し、LIMSやデータベースへ連携するならEthernetが有力です。個々の装置がRS-232しか持たない場合は、産業用Gatewayでネットワークへ集約できます。Gatewayが停止した場合の影響と、装置IDの固定方法を設計します。
例4:高度な分析装置をワークフローへ組み込む
メーカーSDKしか詳細機能へアクセスできない場合、SDKをAdapterで包み、上位へSiLA 2、LADS、RESTなどの安定したAPIを公開します。結果、試料、実行IDをLIMSへつなぐ設計は、実験装置・LIMS・データベースを連携する設計で詳しく扱っています。
インターフェース選定の7段階
1.自動化する操作を列挙する
開始・停止・設定だけでなく、状態確認、進捗、結果取得、エラー解除、校正、保守まで列挙します。
2.データの性質を整理する
一回のデータ量、頻度、連続性、許容遅延、欠損許容、保存期間を決めます。小さな数値と高精細動画では適切な方式が異なります。
3.配置と装置台数を確認する
ケーブル長、移設、PC台数、装置増設、同時接続、ネットワーク利用可否を確認します。
4.利用可能な層をすべて確認する
コネクターだけでなく、Device Class、TCPポート、コマンド仕様、API、SDK、Driver、ライセンスを一覧化します。
5.障害時の動作を設計する
タイムアウト、通信断、PC再起動、装置再起動、再接続、途中結果、二重実行を試験項目にします。
6.長期保守性を評価する
OS、言語、ランタイム、Driver、証明書、Firmware、SDKの対応期間と更新手順を確認します。装置寿命が10年以上でも、制御PCやOSは途中で変わります。
7.実機PoCと受入試験を行う
正常系だけでなく、ケーブル抜去、応答遅延、不正コマンド、装置Busy、巨大データ、長時間連続運転を確認します。
調達仕様に記載したい項目
- コネクター、通信規格、Device Class、対応速度
- ケーブル長、付属品、Lock機構、絶縁要件
- シリアル通信条件またはIP・Port・接続数
- コマンド/API仕様書と、その提供時期
- SDKの対応OS、CPU、言語、Runtime、ライセンス
- 同期・非同期処理、進捗、取消し、結果取得
- エラーコード、ログ、タイムアウト、再試行
- 通信断後の装置動作と実行状態照合
- 版管理、後方互換性、Firmware更新時の変更通知
- DriverとSDKのサポート期間
- TLS、証明書、認証、権限、脆弱性対応
- サンプルコードと異常系を含む受入試験
よくある失敗と対策
失敗1:端子の形だけで選ぶ
USB-Cでも通信モードは異なり、Ethernet端子があっても制御APIが公開されない場合があります。4層すべてを確認します。
失敗2:最高速度だけを比較する
実験自動化では、応答の確実性、再接続、エラー、長期保守がボトルネックになりがちです。実データ量と頻度から必要帯域を計算します。
失敗3:SDKを業務コード全体から直接呼ぶ
装置更新の影響が広がります。SDK依存部をAdapterへ閉じ込め、上位には組織内で安定したAPIを提供します。
失敗4:通信成功を装置動作成功と考える
TCP送信やAPIの200応答は、実験の完了を意味しない場合があります。要求ID、状態、結果、エラーを追跡します。
失敗5:再接続時に同じCommandを再送する
最初の処理が装置内で継続していると二重実行になります。再送前に装置の実行IDと状態を照合します。
失敗6:安全制御をPC通信へ移す
OS停止やネットワーク断が起きても安全を維持できるよう、非常停止、過温・過圧、扉インターロックは装置内制御や安全PLCで成立させます。
技術的限界・不確かさ・責任範囲
- 規格名だけでは性能を保証しない:実装、Driver、ケーブル、OS、ネットワークに依存します。
- 接続性と意味の共通化は別:通信できても、コマンドやデータの意味が統一されるとは限りません。
- ベンダー対応は変化する:製品Firmware、SDK、サポートOSは導入時点で確認します。
- ネットワーク化は運用を増やす:資産管理、Patch、Firewall、証明書、監査が必要です。
- 自動化の責任境界:装置メーカー、Driver/Gateway開発者、上位システム担当、ラボ運用者の責任を分けます。
複数装置を閉ループで連携する場合でも、各装置の安全とデータ品質は独立して確認する必要があります。全体像は実験自動化とは?と自律実験・Self-driving Labとは?で解説しています。
導入前チェックリスト
- 物理接続、トランスポート、装置プロトコル、APIを分けて記録した
- 必要な操作・状態・結果・エラーを一覧化した
- データ量、頻度、許容遅延、欠損許容を決めた
- 接続距離、装置数、増設計画を確認した
- USB Device Classまたはシリアル通信条件を確認した
- EthernetのIP、Port、Firewall、同時接続数を確認した
- API/SDKの版、OS、言語、ライセンスを確認した
- タイムアウト、再接続、二重実行防止を設計した
- 安全制御を上位通信だけに依存させていない
- 異常系を含む実機受入試験を実施した
FAQ
Q1.USBとEthernetはどちらが高速ですか?
規格の版と実装によります。最高速度ではなく、実際の装置が提供する転送速度、連続取得時の欠損、Driver負荷、必要距離で比較してください。
Q2.RS-232は古いので避けるべきですか?
一概には言えません。少量データを1対1で長期運用する用途では、単純で安定した選択肢です。長距離、多数接続、大容量データには別方式を検討します。
Q3.Ethernetなら複数PCから同時に制御できますか?
装置Serverの仕様によります。一つのClientだけを許可する装置もあります。監視と制御の接続数、排他、Session切断後のLock解除を確認します。
Q4.APIとSDKの違いは何ですか?
APIは機能を呼び出すための契約です。SDKはAPIを利用するライブラリ、資料、ツール、サンプルなどをまとめた開発環境です。
Q5.SCPIがあればVISAは必須ですか?
必須ではありません。TCP SocketやSerial APIからSCPI文字列を直接送れる場合もあります。複数の計測器接続を共通化したいとき、VISAが有力です。
Q6.メーカーSDKしかない装置を標準化できますか?
できます。SDKをAdapterで包み、上位へ組織内API、SiLA 2、LADSなどを公開します。ただしSDKの対応OS、ライセンス、同時実行、エラー処理を確認します。
まとめ
USB、RS-232、Ethernet、API、SDKを一列に並べて比較すると、判断を誤りやすくなります。まず4つの層へ分けてください。
- USB、RS-232、Ethernetは主に接続・通信の基盤
- SCPIなどは装置コマンドの意味を定める
- APIはソフトウェアが利用する契約
- SDKはAPIを使うためのライブラリや開発資材
- VISAは複数の計測器I/Oを共通的に扱う手段
選定では、速度だけでなく、距離、装置数、データ量、再接続、二重実行防止、OS依存、版管理、セキュリティ、安全、長期サポートを確認します。代表装置一台で異常系まで含むPoCを行い、その結果を調達仕様と標準アーキテクチャへ反映することが、長く使える実験自動化基盤への近道です。
参考文献
- IVI Foundation, “The SCPI Standard,” 2026年10月12日確認. https://www.ivifoundation.org/About-IVI/scpi.html
- USB Implementers Forum, “Document Library,” USB Base, Device Class and Test Specifications, 2026年10月12日確認. https://www.usb.org/documents
- USB Implementers Forum, USB Type-C Cable and Connector Specification, Release 2.5, 2026. 公式配布ページ
- ITU-T, Recommendation V.24: List of definitions for interchange circuits between data terminal equipment and data circuit-terminating equipment, 2000. https://www.itu.int/rec/T-REC-V.24
- IEEE, IEEE Std 802.3-2022: IEEE Standard for Ethernet, 2022. DOI: 10.1109/IEEESTD.2022.9844436
- Eddy, W. M. (Ed.), Transmission Control Protocol (TCP), RFC 9293, IETF, 2022. DOI: 10.17487/RFC9293
- Postel, J., User Datagram Protocol, RFC 768, IETF, 1980. DOI: 10.17487/RFC0768
- IVI Foundation, “Specification Downloads,” IVI Driver, Protocol, SCPI and VISA Specifications, 2026年10月12日確認. https://www.ivifoundation.org/specifications/default.html


