• 検索結果がありません。

コネクション確立後,上位機器から60秒以上リクエストがない場合,PR300はコネクションを切 断します。

IM 77C01E01-10

6.2 TCP/IPによる通信

Modbus/TCPは,TCP/IPソケットインタフェースを用い,下図の手順でやり取りを行います。

socket() socket()

bind()

listen()

accept() connect()

send()

send() recv()

recv()

close() close()

パソコン

初期立上げ

コネクションオープン

コマンド

レスポンス

コネクション断

初期立上げ Ethernet通信付 PR300 Ethernet

図6.3 TCP/IPによる通信

注 意

コネクション確立後,上位機器から60秒以上リクエストがない場合,PR300はコネクションを切

6.3 ネットワークフレーム構成

Modbus/TCPフレーム構成は,次の通りです。

MBAP Header ファンクションコード データ

PDU Modbus TCP / IP ADU

MBAP Header (Modbus Application Protocol Header):

  Modbus/TCPプロトコルであることを認識するためのヘッダ PDU:simple Protocol Data Unit

6.3.1 MBAPヘッダ構成

MBAP Header (Modbus Application Protocol Header)は,次の7バイトで構成されています。

Byte No 0 1 2 3 4 5 6

転送ID

内容 プロトコル ID ユニット

バイト数 ID

転送ID :上位機器ではトランザクションを識別する任意の値を設定。PR300は上位機種から受け 取 っ た 値をレスポンスとして返します。

プロトコルID :Modbus/TCPプロトコルの場合は 0 を指定します。

バイト数 :ユニットID(Byte No.6)以降のバイト数。

ユニットID :PR300 自身へ通信を行う場合は,上位機器で 01 を指定し,PR300も 01 をレスポンスと して返します。Ethernet-シリアルゲートウェイ機能により,PR300のRS-485端子へ接続された 機器への通信を行う場合は,そのステーション番号(02〜99)を指定し,機器も同じ値をレスポ ンスとして返します。

6.3.2 PDU構成

PDU(simple Protocol Data Unit)は,次のnバイトで構成されます。

Byte No 0 1(n-1)

ファンクションコード

内容 データ

ファンクションコード :上位機器からの命令(ファンクションコード)を指定します。

データ :ファンクションコードに応じてDレジスタ番号やDレジスタの個数,パラメータ値などを指 定します(リクエスト中では,16進表記)。

IM 77C01E01-10

6.4 上位機器との通信

6.4.1 ファンクションコード一覧

上位機器がPR300のDレジスタ情報を得るために使用する命令語です。

表6.1 ファンクションコード一覧表

 コードNo.  機能  内容

  03  複数Dレジスタの読出し  D0001〜D0400から連続で最大64個の読出しが可能   06  Dレジスタの書込み  D0001〜D0400から1個のみ書込みが可能

  08  ループバックテスト  通信の接続チェック時に使用

  16  複数Dレジスタの書込み  D0001〜D0400から連続で最大32個の書込みが可能

ファンクションコードの書込みは,読出し専用と使用禁止の各レジスタには書込みません。

6.4.2 Dレジスタの指定

上位からのDレジスタ指定は,次のように行います。

(1)市販のSCADA等を使用する場合は,「7. Dレジスタの機能と用途」に記載のRef No.を指定 します。

(2)お客様作成の通信プログラムの場合は,「7. Dレジスタの機能と用途」に記載のH No.を指 定します。

例 積算開始/停止「D0301」を指定する場合

・市販のSCADA等を使用したリクエストは,Ref No.「40301」を指定します。

・お客様作成の通信プログラムでのリクエストは,H No.「012C」を指定します。

6.4.3 リクエスト・レスポンス

■ 03 複数Dレジスタの読出し

● 機能

指定されたDレジスタ番号から指定された点数だけ,連続してDレジスタの内容を読出します。

・一度に読出しできる数は最大64個です。

・ 異常時のレスポンスの形式については,6.4.4項を参照してください。

要  素 バイト数

コマンド要素

MBAP Header

2 2 2 1 1 2 2

(16 進数) 任意 0000 0006 01〜99 03 n

PDU

ユニット ID

ファンク ション コード 転送

ID

プロトコル ID

レジスタ 開始番号

レジスタ数 バイト数