製品に関するよくあるご質問
Modbus/TCP通信(マスター)
質問
SJ-Etherシリーズをマスター局として、Modbus/TCP通信を使いたいです。
どのようにすれば良いですか?
回答
詳細は、SJ-Etherユーザーズマニュアルの第4章4-4 MODBUS/TCP通信をご覧ください。
(スレーブ局の設定は、ご使用になる各社製品マニュアルをご覧ください)
SJ-Ether使用手順の概略は以下となります。
①KPP:Kostac PLC Programming softwareの「PLC」→「PLC設定」→「汎用通信ポート設定」のPort3にて、SJ-EtherのIPアドレス、サブネットマスクを設定。
②プロトコル設定は「Modbus/TCPクライアントとサーバー」にチェックマークを付ける。
③「Modbus/TCPクライアントとサーバー」をクリック。
④クライアント(マスタ)設定の、タイムアウト/リトライ回数/タイムアウト時間を設定。
⑤サーバー(スレーブ)設定は、工場出荷時の値でよいが、マスター局で使いたいTCPポート番号と重複する場合は、変更する。
⑥SJ-Etherからスレーブ局にデータを書き込みたい場合は、EWX命令を使う。
⑦スレーブ局のデータをSJ-Etherに読み込みたい場合は、ERX命令を使う。
ERX/EWX命令の詳細はKPPのヘルプにより詳しい説明があります。
ERX命令の使い方
設定項目 | 説明 | |
① | プロトコル | MODBUS |
② | CPU通信ポート番号 | SJ-Etherの通信ポート番号。3固定。 |
③ | 通信相手局番 | スレーブ製品各社のマニュアルで確認。 (スレーブID、ユニットIDと表記されている場合あり) (解らない場合は、ゼロで試行) |
④ | 機能コード | 読み出し時に使用する機能を指定。 |
⑤ | 相手のメモリデバイス | 読み出したい相手のデバイスの先頭アドレスを指定。 |
⑥ | データ格納先デバイス | 読み出したデータを、SJ-Etherのどこに持ってくるか。 その先頭アドレスを指定。 |
⑦ | データサイズ | 読み出したいデータのサイズを指定。 |
⑧ | データタイプ | MODBUSデータフォーマットを指定。 |
⑨ | スレーブIPアドレス | 読み出したい相手相手機器のIPアドレスを指定。 |
⑩ | TCPポート番号 | 読み出す際に使用する、TCPポート番号を指定。 |
⑪ | 受信中 | 受信中フラグとして使用するSJ-Etherのデバイスを指定。 |
⑫ | 成功 | 受信成功フラグとして使用するSJ-Etherのデバイスを指定。 |
⑬ | エラー | 受信エラーフラグとして使用するSJ-Etherのデバイスを指定。 |
⑭ | エラー応答格納先 | 受信エラーとなった時、エラー内容を格納するSJ-Etherのデバイスを指定。 |
EWX命令の使い方
設定項目 | 説明 | |
① | プロトコル | MODBUS |
② | CPU通信ポート番号 | SJ-Etherの通信ポート番号。3固定。 |
③ | 通信相手局番 | スレーブ製品各社のマニュアルで確認。 (スレーブID、ユニットIDと表記されている場合あり) (解らない場合は、ゼロで試行) |
④ | 機能コード | 書き込み時に使用する機能を指定。 |
⑤ | 相手のメモリデバイス | 書き込みたい相手のデバイスの先頭アドレスを指定。 |
⑥ | データ格納先デバイス | SJ-Etherのどのデータを相手に書き込むのか。 その先頭アドレスを指定。 |
⑦ | データサイズ | 書き込みたいデータのサイズを指定。 |
⑧ | データタイプ | MODBUSデータフォーマットを指定。 |
⑨ | スレーブIPアドレス | 書き込みたい相手機器のIPアドレスを指定。 |
⑩ | TCPポート番号 | 書き込む際に使用する、TCPポート番号を指定。 |
⑪ | 送信中 | 送信中フラグとして使用するSJ-Etherのデバイスを指定。 |
⑫ | 成功 | 送信成功フラグとして使用するSJ-Etherのデバイスを指定。 |
⑬ | エラー | 送信エラーフラグとして使用するSJ-Etherのデバイスを指定。 |
⑭ | エラー応答格納先 | 送信エラーとなった時、エラー内容を格納するSJ-Etherのデバイスを指定。 |