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

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

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 4 Feb 2025
Edited: MathWorks Support Team on 4 Feb 2025

1 vote

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

More Answers (0)

Categories

Find more on Instrument Control Toolbox in Help Center and File Exchange

Products

Release

R2015b

Community Treasure Hunt

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

Start Hunting!