TCP ASCIIによる外部機器とMech-MSRとの通信実装
TCP ASCIIについて
TCP ASCIIは、TCP接続およびASCII文字列コマンドに基づく通信方式であり、外部機器(PLCなど)とMech-MSR間の通信に使用できます。この通信方式では、外部機器がTCPクライアント、Mech-MSRがTCPサーバーとして動作します。双方の接続確立後、外部機器は文字列コマンドを送信することでプロジェクト実行をトリガーし、判定結果や測定結果などのデータを取得できます。
この通信方式は設定が簡単で、デバッグもしやすいため、文字列コマンドによってプロジェクトの実行制御や結果取得を行うシーンに適しています。以下の内容を読む前に、Mech-MSR で 通信設定 が完了していることを確認してください。
通信フロー
現場の制御方式の違いに応じて、TCP ASCII通信フローは以下の2種類に分けられます。
-
外部機器がコマンドを能動的に送信してプロジェクト実行をトリガーし、必要に応じて結果を取得する場合は、通信フロー(コマンドに基づく)をご参照ください。
-
プロジェクト実行後に、Mech-MSRがクライアントへ自動的に結果を送信する場合は、通信フロー(コマンドなし)をご参照ください。
通信フロー(コマンドに基づく)
TCP ASCII通信(コマンドに基づく)は、下図のようなフローで行います。
|
通信フローは以下の通りです。
-
TCPクライアント(例:PLC)が、3D測定システム(Mech-MSR)とTCP通信接続を確立します。
-
TCPクライアントが
triggerコマンドを送信して、プロジェクトの実行をトリガーします。 -
Mech-MSRは、コマンドのステータスコードを返します。例えば、プロジェクトの実行が正常にトリガーされた場合、Mech-MSRは
1を返します。 -
TCPクライアントが
returnコマンドを送信して測定結果を取得します。Mech-MSRはコマンドを受信すると、10秒間のカウントダウンを開始します。 -
Mech-MSRが結果を返します。例えば、プロジェクトの実行が正常に完了すると、Mech-MSRは測定結果を返します。10秒内にプロジェクトの実行が終了しなかった場合、Mech-MSRはエラーコード
-3を返します。
通信フロー(コマンドなし)
TCP ASCII通信では、毎回のプロジェクト実行後に、3D測定システム(Mech-MSR)が結果を自動でクライアント(例:PLC)に送信することも可能です。この方式では、クライアントからのリクエストコマンドは不要で、結果が自動で受信されます。プロファイル測定器が 連続キャプチャモード で動作している場合、または I/O端子からプロジェクトをトリガーする 場合に適しています。
通信フローは以下の通りです。
-
TCP ASCII通信設定 時に、結果自動送信 にチェックを入れます。
-
returnコマンドのデータ形式 を設定します。Mech-MSRはこの形式で結果を自動送信します。
-
(オプション)プロジェクトの実行条件を設定します。例えば、プロジェクトツールバー で 画像更新時に実行 を有効にします。
-
TCPクライアントが3D測定システムと通信接続を確立します。
-
毎回プロジェクトが実行完了すると、Mech-MSRは結果を自動でクライアントに送信します。
TCP ASCIIがサポートするコマンドと返される結果の詳細な説明については、TCP ASCIIコマンド説明 をお読みください。