Modbus/TCP 接続


1.Modbus/TCPで接続に必要な環境条件

INplcとACTIVE TOUCHをModbus/TCP通信で接続するにはINplcコントローラにオプションとしてRSI-Modbusが実装されている必要が有ります。

2.ACTIVE TOUCHで使用するには

MSG接続を使用しMODBUS/TCPでデータ交換を行います



詳細なデータの流れ

3.MODBUS標準ファンクションサポート一覧

4.Modbus/TCP プロトコルフレーム仕様

5.要求伝文/応答伝文フォーマットの見方

各ファンクションの要求伝文/応答伝文フォーマット説明図の見方を示します。

◆応答伝文フォーマットについて
スレーブがマスタに発行する応答伝文のフォーマットは,スレーブにおける 処理が正常完了した場合と,異常完了した場合とで異なります。 各ファンクションでは,正常完了時および異常完了時のフォーマットを記載します。

◆先頭位置(先頭コイル番号など)
INplcは入力レジスタやコイルレジスタなどのメモリが分かれていない為、先頭位置によりアクセスできるINplcのメモリエリアを分けています。
※I/Q/Mエリアに割り付けていない変数にはアクセスする事とは出来ません。

6.コイル読出し(ファンクションコード:01)

1つまたは複数のコイルの状態(ON/OFF)を読み出します。
(1伝文でのアクセス可能デバイス数:1~2000点)

(1)要求伝文フォーマット(マスタ→スレーブ)

(2) 応答伝文フォーマット(スレーブ→マスタ)
(正常完了時)
読み出したコイルの状態は、下位→上位ビットの順序で格納されます。
読出し点数が8の倍数でない場合、余ったビットは0となります。

(異常完了時)


◆他の各ファンクションの要求伝文/応答伝文フォーマットについてはRSI-MODBUSをご参照ください。

7.ACTIVE TOUCHメッセージ通信設定方法

1) ACTIVE TOUCHのメニューから[設定]→[デバイス設定]を選択してクださい。


2) ACTIVE TOUCHのデバイス設定で「通信ポートの追加」を行います。


3) 接続先のポート情報の登録設定を行います。

「ポート名」・・・任意の接続先の名称を設定します。
「形式」・・・Ethernetを指定します。(固定)
「IP」 ・・・接続先サーバIPアドレス:ポート番号(デフォルトポート:502)
「Ethernet」 ・・・TCP(固定)
「送受信モード」・・・データ送信→データ受信
「通信する毎に接続処理を行う」・・・チェック無し


4) 通信設定

「コミュニケーション名」・・・任意の名称を設定します。
「送信タイミング」・・・使用するタイミング(時間周期・条件・トリガー)を指定してください。
「データを送信した後に、データを受信します。」・・・データ受信コマンドを使用する場合はチェックを入れてタイムアウト設定をしてください


5) データの送信・受信

データのコマンド(ファンクション)はMODBUS/TCPのプロトコルを使用します。
1回の要求で取得できるデータ量は最大252バイトが最大です。
それ以上のデータ量は必要回数分割送信が必要となります。

※以下ファンクション1(コイル読出し)を例に説明します。

6) データを送信

「データヘッダ」・・・MODBUSアプリケーションヘッダを記述します。

「データ領域」・・・可変データは無いので データ数[0]設定
「データフッター」・・・プロトコルデータ部を記述します。


設定例
ファンクションコード(01H)
先頭コイル番号(0000H)
読出し点数(0002H)


7) データを受信

「データヘッダ」・・・MODBUSアプリケーションヘッダを記述します。[交信ID][プロトコルID]を設定
 

「データ領域」・・・残りの受信する5つのデータは変数で受け取る為、データ数[5]設定
「データフッター」・・・なし


8) 受信変数設定

コマンドの受信を選択すると上記で設定したデータ数[5]が自動で作成されます。
5の変数を任意の名前に変更し受信サイズやデータ型を選択してください。



8) 受信した変数を使用

受信した変数を使用してACTIVE TOUCHをプログラミングしてください。