MATLAB Answers

tcpclient コマンドと、tcpip コマンドの違いはなんですか?

25 ビュー (過去 30 日間)
MATLAB 本体の tcpclient コマンドと、Instrument Control Tollbox の tcpip コマンドを使用すれば、どちらも TCP/IP 通信が可能になりますが、これらに違いはありますか。

採用された回答

MathWorks Support Team
MathWorks Support Team 2020 年 8 月 26 日
R2014b から、MATLAB 本体に tcpclient という関数が追加されました。これにより、MATLAB を TCP/IP 通信のクライアントとして接続し、データの送受信(ソケット通信)を行うことができます。
Instrument Control Toolbox にも同様の、tcpip というコマンドがあり、こちらでもソケット通信を行うことができます。
どちらも基本的な通信は行うことができますが、Instrument Control Toolbox の tcpip コマンドによる TCP/IP 通信では上記のほか、イベントとコールバック(割り込みの使用)、サーバーとしての動作、その他詳細な設定が可能です。
<tcpclient (MATLAB)>
・設定項目はアドレス、ポート番号、タイムアウト時間、受信データ数のみ
・計測器(多くの場合 TCP/IP のサーバー側となっている)とのバイナリデータ、文字列データのやり取りは可能。
・ポーリングによる受信のみ(割り込みは使用できない=for文で待ちうけ)
・未応答の際のタイムアウトの設定ができない。
・サーバーになることができないので、PC同士の通信は不可
<tcpip (Instrument Control Toolbox)>
・設定項目は、アドレス、ポート番号、タイムアウト時間、受信データ数のほか、バイトオーダー、バッファサイズ、終端、タイムアウト、その他多数
・計測器との通信は バイナリデータ、文字列データのやり取りが可能。
・ポーリングによる受信のほか、バッファのデータ数による割り込みによる受信も可能(待ち受け負荷なし)
・サーバーになることができ、PC同士の通信も可能
・Simulink用ブロックが提供されている
・tmtool(MATLAB 上で動作するGUIのツール。接続確認等を容易に行うことができる)
・各計測器メーカーの主な計測器の固有の機能に対応した、Instrument Drivers が使用可能
オシロスコープ、スペクトラムアナライザ、シーケンサ、ファンクションジェネレータなどの機器との接続には、これらとの接続用に設計された、Instrument Control Toolboxがお勧めです。特に割り込みがあることにより、逐次処理などをおこなう場合のプログラムが組みやすくなり、コンピュータの負荷も低減できます。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!