TCP/IP クライアント インターフェイスのトラブルシューティング
伝送制御プロトコル (TCP) とは、インターネット プロトコル (IP) の上の層にあるトランスポート プロトコルで、最もよく使用されているネットワーク プロトコルの 1 つです。ネットワーク ソケット通信を使用してリモート ホストに接続し、データの読み取りと書き込みを実行できます。
問題
リモート ホストとの接続や通信に問題がある場合は、以下のトラブルシューティングのヒントを試してください。これらの手順はすべて、TCP/IP エクスプローラー アプリのトラブルシューティングにも適用されます。
考えられる解決策
サポートされているプラットフォーム
TCP/IP は以下のプラットフォームでサポートされています。
Linux®
macOS
Windows® 10
TCP/IP クライアント インターフェイスは MATLAB® と同じプラットフォームでサポートされています。現在サポートされているプラットフォームのリストの更新については、システム要件を参照してください。
構成と接続
TCP/IP クライアント オブジェクトを作成できることを確認します。関数
tcpclient
を使用してクライアント オブジェクトを作成します。その際、リモート ホスト名を入力引数とする必要があります。また、リモート ポートの値も指定する必要があります。各クライアント オブジェクトは 1 つの機器に関連付けられています。たとえば、Sony/Tektronix® AWG520 任意波形発生器用のクライアント オブジェクトを作成するには、機器のドキュメンテーションに記載されている、機器のリモート ホスト名とポート番号を使用します。
t = tcpclient("sonytekawg.yourdomain.com",4000);
TCP/IP エクスプローラー アプリを使用している場合は、[Configure TCP/IP Connection] をクリックした後、リモートのホスト名またはアドレスとポート番号を指定します。[パラメーターの確認] をクリックして、指定した TCP/IP サーバーに接続される TCP/IP クライアントを作成します。
デバイスに接続した後、そのデバイスと通信できます。送信と受信が機能しない場合、以下を確認します。
データがサーバーで必要な形式で送信されていることを確認します。
Web サーバーに接続する場合、HTTP
get
またはpost
コマンドを送信しなければならないことがあります。Web サーバーとの通信には、関数urlread
またはwebread
も使用できます。多くの TCP/IP サーバーでは、TCP/IP パケット内にヘッダー情報が必要です。
TCP/IP を介した通信の例は、TCP/IP インターフェイスを使用するデータの書き込みと読み取りを参照してください。
VISA-TCP/IP 通信
機器との TCP/IP 通信には、tcpclient
インターフェイスまたは TCP/IP エクスプローラー アプリの代わりに、VISA-TCP/IP リソース名を用いて visadev
インターフェイスまたは VISA エクスプローラー アプリを使用することもできます。
メモ
visadev
または VISA エクスプローラーを使用するには、Instrument Control Toolbox™ がインストールされていなければなりません。
不適切なデータ型
適切なデータ型 (たとえば int16
、uint16
、double
) が read
および write
で使用されていることを確認します。機器と同じデータ型を使用します。uint8
または int8
以外のデータ型の読み取りと書き込みを行う場合は、ByteOrder
が正しいことを確認します。