Modbus TCP

Mech-MSRは外部機器とModbus TCP通信を行うことができます。以下の内容を読む前に、Mech-MSRで 通信設定 を完了してください。

概要

Mech-MSRはModbus TCPプロトコルを使用してPLCと通信することをサポートしています。この通信方式では、Mech-MSRはサーバーとして動作し、PLCはクライアントとして動作します。すべてのリクエストはPLCから送信され、Mech-MSRが応答します。

Mech-MSRでModbus TCP通信サービスを有効にすると、ソフトウェアはポート502(デフォルト)で1つ以上のModbusクライアントからの接続を待機し始めます。

通信フロー

Modbus TCP通信は、下図のようなフローで行います。

各信号の意味については、入力・出力信号一覧 をご参照ください。
handshake flow

入力・出力信号一覧

入力(PLCからMech-MSRへ) 出力(Mech-MSRからPLCへ)

モジュール

名前

バイト数

保持レジスタのアドレス(4x)

モジュール

名前

バイト数

保持レジスタのアドレス(4x)

CONTROL_INPUT

有効化

1 バイト

40001

CONTROL_OUTPUT

ハートビート

1 バイト

40033

コマンドトリガー

コマンドトリガー ACK

データ読み取り完了

データ準備完了

出力データリセット

コマンド実行完了

予約語

予約語

予約語

予約語

予約語

予約語

予約語

エラー

予約語

3 バイト

40002

全体判定結果

1 バイト

40034

予約語

予約語

予約語

予約語

予約語

予約語

予約語

予約語

2 バイト

40035

COMMAND

コマンドコード

2 バイト

40005

STATUS_CODE

ステータスコード

2 バイト

40037

COMMAND_PARAM

コマンドパラメータ1

2 バイト

40007

RESERVED

予約語

2 バイト

40039

コマンドパラメータ2

2 バイト

40009

JUDGE

ID 1の判定結果

ID 2の判定結果

ID 3の判定結果

...

8 バイト

40041

コマンドパラメータ3

2 バイト

40011

コマンドパラメータ4

2 バイト

40013

VALUE

ID 1の測定結果

ID 2の測定結果

ID 3の測定結果

...

256 バイト

(4 バイト × 64)

40049

入力(PLCからMech-MSRへ)

CONTROL_INPUT(入力制御)

アドレス データ 説明

0.0

有効化(ブール値)

「有効化」信号が1に設定されているときのみ、他の入力信号が有効とみなされます。

0.1

コマンドトリガー(ブール値)

コマンドトリガー信号が0から1(立ち上がり)に変わるとき、Mech-MSRはコマンドコードとコマンドパラメータを読み取ります。Mech-MSRが コマンドトリガー ACK 信号を返すと、コマンドトリガー信号を0に設定できます。

0.2

データ読み取り完了(ブール値)

PLCがデータの読み取りを完了したら、この信号を1に設定します。PLCが データ準備完了 信号が0に変わった後、この信号を0に設定できます。

0.3

出力データリセット(ブール値)

この信号が1に設定されると、PLCが受信した判定結果と測定結果(出力)がクリアされます。この時、PLCは新しいコマンドを送信できます。関連するステータスコード信号もリセットされます。

0.4

予約語(ブール値)

予約されたフィールドとなります。

0.5

予約語(ブール値)

予約されたフィールドとなります。

0.6

予約語(ブール値)

予約されたフィールドとなります。

0.7

予約語(ブール値)

予約されたフィールドとなります。

1.0~3.7

予約語(バイト)

予約されたフィールドとなります。

COMMAND & COMMAND_PARAM(コマンドコードとコマンドパラメータ)

現在のプロトコルでサポートされているコマンドと対応するコマンドコード(COMMAND)、コマンドパラメータ(COMMAND_PARAM)、および説明は以下の表の通りです。

コマンド COMMAND COMMAND_PARAM 説明

execute

1

プロジェクト番号、1回に1つのみ設定可能

プロジェクトの実行をトリガーし、そのプロジェクトの判定結果と測定結果を取得するために使用されます。

trigger

2

プロジェクト番号、1回に1〜4個設定可能

プロジェクトの実行をトリガーするために使用されます。

return

3

プロジェクト番号、1回に1つのみ設定可能

指定したプロジェクトの判定結果と測定結果を取得するために使用されます。

judge

4

指定したプロジェクトの全体判定結果または個別の測定項目の品質判定結果を取得するために使用されます。

value

5

主に指定されたプロジェクトの測定値を取得するために使用されます。

プロジェクト番号の確認方法については、プロジェクトリスト をご参照ください。

出力(Mech-MSRからPLCへ)

CONTROL_OUTPUT(出力制御)

アドレス データ 説明

0.0

ハートビート信号(ブール値)

システムのハートビート、1秒ごとに反転します。これにより、PLCとMech-MSR間の通信接続が正常か中断されているかを判定できます。

0.1

コマンドトリガー ACK(ブール値)

Mech-MSRが コマンドトリガー 信号の立ち上がりを受信すると、この信号が1に設定されます。コマンドトリガー信号の立ち下がり時に、この信号が0に設定されます。

0.2

データ準備完了(ブール値)

Mech-MSRが出力ポートにデータを書き込み、PLCが読み取るのを待ちます。データ読み取り完了 信号が1のとき、この信号は0に設定されます。

0.3

コマンド実行完了(ブール値)

コマンドの実行が完了すると、この信号が1に設定され、コマンドが処理されたことを示します。

0.4

予約語(ブール値)

予約されたフィールドとなります。

0.5

予約語(ブール値)

予約されたフィールドとなります。

0.6

予約語(ブール値)

予約されたフィールドとなります。

0.7

エラー(ブール値)

Mech-MSRが返すステータスコードが0以外の場合、エラーが発生したことを示し、この信号は1に設定されます。

1.1

全体判定結果(ブール値)

プロジェクトの総合判定結果で、0は合格(OK)、1は不合格(NG)となります。

1.2~1.7

予約語(ブール値)

予約されたフィールドとなります。

STATUS_CODE(ステータスコード)

Mech-MSRが返すステータスコードは以下の5つです。

  • 正常ステータスコード:0、コマンドが正常に実行されたことを示します。

  • エラーコード:-1、-2、-3、-4。詳細については、エラーコードの説明 をご参照ください。

JUDGE(判定結果)

出力管理 画面の「通信出力」タブに追加された測定項目の品質判定結果で、0は合格(OK)、1は不合格(NG)を示します。

単一のプロジェクトに対して、最大64個の判定結果を一度に出力することがサポートされています。

VALUE(測定結果)

出力管理 画面の「通信出力」タブに追加された測定項目の測定結果です。

単一のプロジェクトに対して、最大64個の測定値を一度に出力することがサポートされています。

この情報は役に立ちましたか?

ご意見・ご要望がございましたら、以下よりお寄せください:

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。