Modbus2クライアントデバイス設定

Modbus2クライアントは、Modbusモデリングファイルに基づきModbusプロトコルを用いてPLC機器から定期的にデータを 読み込み(ポーリングを行い)、PD Repeater を介してクラウドに送ります。
また、PD Repeaterを介してクラウドから送られるModbusモデリングファイルに基づく制御メッセージ(JSON文字列)に 基づきPLC機器にModbusプロトコルを用いて接続しデータを読み書きすることもできます。
WEB UIの「IoTデータ」→「送受信設定」タブの「Modbus2クライアントデバイス設定」メニューより、 Modbus2クライアントデバイスの設定を行うことが出来ます。
Modbus2クライアントデバイスを利用するためには、WEB UIの「サービス」→「基本」→「Modbus2(C)登録」タブより、 サービス機能の基本設定としてModbus2クライアントデバイスが登録されている必要があります。
サービス機能の基本設定については、WEB UIセットアップガイドサービス機能 を参照して下さい。
「Modbusクライアントデバイス設定」メニューが表示されていない場合は、IoTデータ制御のアプリ設定 を参照し、 PD Handler MODBUS2 Clientを「使用する」に設定して下さい。
ModbusモデリングファイルにPLC機器のモデリング定義を追加したい場合は、 データハンドリング設定リファレンスガイドPD Handler Modbus 2 を参照して下さい。
../../../_images/modbus2_client_init.png
登録済のModbus2クライアントデバイスが存在している場合、初期状態では上図のようになっています。(デバイスが1個登録されている場合です。)
Modbus2クライアントデバイスとは、PLC機器そのものではなく、 対象となるPLC機器への接続形態(RTUプロトコルではデバイスファイル、TCPプロトコルではIPアドレス)を意図します。
デバイス毎に送信対象項目にて「送信する」を選択すると各設定項目が表示されます。
送信対象一括有効、送信対象一括無効ボタンにて全ての登録済のデバイスの送信対象を制御できます。

「送信する」を選択すると各設定項目が次のように表示されます。

../../../_images/modbus2_client_tcp.png

「使用プロトコル」として「TCP」(ネットワーク)を選択した場合の表示

../../../_images/modbus2_client_rtu.png

「使用プロトコル」として「RTU」(シリアル)を選択した場合の表示

Modbus2クライアントデバイス設定の設定項目(1/2)

設定項目

説明

デバイス番号

OpenBlocksシリーズのWEB UI内で管理している番号です。変更はできません。

データ間引間隔

データを間引くための入力データを受け取らない時間をmsec単位で設定します。 0の場合、間引きは行われません。

バッファーサイズ

データの最大サイズを設定します。単位はバイトです。

受信設定

PD Repeaterを介してクラウドからの制御メッセージを受ける下流方向制御を行うか否かを選択します。

ユーザーメモ

登録されたデバイスにて設定されたメモ情報を表示します。

全体固定情報付与(JSON)

データに付加する(個々のPLC機器には依存しない)静的情報をJSON文字列で設定します。

タイムアウト[ms]

PLC機器からデータを取得する際のタイムアウトを設定します。単位はミリ秒です。

プロトコル

「TCP」、「RTU」のいずれかを選択します。「TCP」はネットワーク、「 RTU」はシリアルです。

接続アドレス

接続するPLC機器のIPアドレスを設定します。

接続ポート

接続するPLC機器のTCPポート番号を設定します。 デフォルト値は、502です。

デバイスファイル

PLC機器を接続するシリアルポートのデバイスファイル名を設定します。

ボー・レート

シリアルポートのボー・レートを選択します。

パリティビット

シリアルポートのパリティビットを選択します。

データビット

シリアルポートのデータビット数を選択します。

ストップビット

シリアルポートのストップビット数を選択します。

タイムアウト許容回数

設定された回数を超えて、タイムアウトが連続して場合にシリアルポートをリセットします。 デフォルト値は、10です。

追加操作

複数のPLC機器からデータを取得する場合は、「追加」をクリックします。

モデル/SKU

プルダウンメニューから対象となるPLC機器を選択します。 表示されるPLC機器はModbusモデリングファイルに記載されているものとなります。

ユニットID:

PLC機器のModbus ユニットIDを設定します。 ユニットIDは、1~247または255の数値です。

Modbus2クライアントデバイス設定の設定項目(2/2)

設定項目

説明

インターバール[sec]

PL機器からデータを取得する時間間隔を数字で設定します。 単位は秒です。 後述の基準時刻制御を使用する場合、時間間隔は以下の値へと内部的に変更されます。

  • 86400[sec]×整数倍

  • 43200[sec]

  • 28800[sec]

  • 21600[sec]

  • 14400[sec]

  • 10800[sec]

  • 7200[sec]

  • 3600[sec]

  • 1800[sec]

  • 900[sec]

  • 600[sec]

  • 300[sec]

  • 180[sec]

  • 120[sec]

  • 60[sec]

基準時刻制御

特定の時刻にデータを取得する場合、本機能を有効とし基準時刻を設定しください。

基準時刻

特定の時刻にデータを取得する際の基準時刻を設定します。HH:MM形式となります。

固定情報付与(JSON)

データに付加する静的情報をJSON文字列で設定します。

送信先設定

"使用する"を選択した送信先に対してチェックボックスが選択できるようになります。 チェックを付けた送信先に対して、送信を行います。 チェックをつけると送信先固有の設定項目が表示されます。 送信先固有の設定については、送受信先毎の設定 を参照して下さい。



■ CSVファイルを用いた取得Modbus2クライアントデバイスの拡張

WEB UIの「システム」→「ファイル管理」タブより、 /var/webui/upload_dir にファイル名 pd_handler_modbus_2_client.csv のCSVファイルを置くことで、 WebUIで設定された1つのデバイス番号に対し複数の取得 Modbus2クライアントデバイスを設定することができます。

CSVファイルの書式は、次の通りです。

デバイス番号,ユニットID,ユニットID付加,メーカー名,プロダクト名,モデル名,SKU名,
ユーザー定義固定キー1,ユーザー定義固定値1,ユーザー定義固定キー2,ユーザー定義固定値2,
インターバル、基準時刻制御、基準時刻
PD Handler Modbus2 ClientのCSVファイルの書式

パラメータ

データの形式

説明

デバイス番号

半角英数字

WebUIにより割り振れたデバイス番号を記載します。 WebUIに設定されていないデバイス番号は無視されます。 先頭が’#’または"/"の場合は、コメント行として扱われます。

ユニットID

半角数字

PLC機器のModbus ユニットIDを設定します。 ユニットIDは、1~247または255を記載します。

ユニットID付加

半角英数字

ユニットIDを出力メッセージに付加するか否か、’0’又は’1’, ‘true’ ,’false’

メーカー名

半角英数字

Modbusモデリングファイル記載されているPLC機器のメーカー名を記載します。

プロダクト名

半角英数字

Modbusモデリングファイル記載されているPLC機器のプロダクト名を記載します。

モデル名

半角英数字

Modbusモデリングファイル記載されているPLC機器のモデル名を記載します。

SKU名

半角英数字

Modbusモデリングファイル記載されているPLC機器のSKU名を記載します。

ユーザー定義固定キー1

半角英数字

データに付加するPLC機器毎の静的情報のキーを記載します。

ユーザー定義固定値1

半角英数字

データに付加するPLC機器毎の静的情報の値を記載します。

ユーザー定義固定キー2

半角英数字

データに付加するPLC機器毎の静的情報のキーを記載します。

ユーザー定義固定値2

半角英数字

データに付加するPLC機器毎の静的情報の値を記載します。

インターバル

半角数字

PL機器からデータを取得する時間間隔を数字で設定します。単位は秒です。

基準時刻制御

半角英数字

基準時刻制御を行うか否か、’0’又は’1’, ‘true’ ,’false’

基準時刻

半角英数字

特定の時刻にデータを取得する際の基準時刻を設定します。HH:MM形式となります。

注釈

  • 各パラメータの区切りはカンマ、先頭がシャープ’#’もしくはスラッシュ’/’の行はコメント行と見なされます。

  • 文字列にスペース(0x20)が含まれる場合は、"(0x22)又は’(0x27)で囲んで下さい。

記載例

#localname,unitId,include,maker,product,model,sku,key1,val1,key2,val2,interval,time_sync,base_time
mdc2dev_0000001,1,1,"Toukou Toushiba","SmaMe Series",S2MS-RNS22,0001,IBS,1-1,Mater,1,300,true,00:00
mdc2dev_0000001,2,1,"Toukou Toushiba","SmaMe Series",S2MS-RNS22,0001,IBS,1-1,Mater,2,300,true,00:00
mdc2dev_0000001,3,1,"Toukou Toushiba","SmaMe Series",S2MS-RNS22,0001,IBS,1-2,Mater,1,300,true,00:00
mdc2dev_0000001,4,1,"Toukou Toushiba","SmaMe Series",S2MS-RNS22,0001,IBS,1-2,Mater,2,300,true,00:00

注釈

  • CSVファイルが読み込まれるとWebUIで設定されたModbus2クライアントデバイスは上書きされます。 そのため、CSVファイルにはWebUIで設定したModbus2クライアントデバイスを含む取得したい全ての Modbus2クライアントデバイスを記載して下さい。



■ 基準時刻制御

基準時刻制御は、特定の時刻にデータを取得する機能です。
「Modbus2クライアントデバイス設定」メニューの「基準時刻制御」を「有効」にし、「インターバル」と「基準時刻」で取得間隔と取得時刻を設定します。
基準時刻制御における「インターバル」は60, 120, 180, 300, 600, 900, 1800, 3600, 7200, 10800, 14400, 21600, 28800, 43200と86400の倍数に限られます。「インターバル」としてこれら以外の値が設定されるとPD Handler Modbus2 Client内で次のように扱われます。
基準時刻制御における取得時間間隔の設定と実動作値

取得時間間隔の設定値

実動作値

0 ~ 199

60

120 ~ 179

120

180 ~ 299

180

300 ~ 599

300

600 ~ 899

600

900 ~ 1799

900

1800 ~ 3599

1800

3600 ~ 7199

3600

7200 ~ 10799

7200

10800 ~ 14399

10800

14400 ~ 21599

14400

21600 ~ 28799

21600

28800 ~ 43199

28800

43200 ~ 86399

43200

86400 ~

86400 の倍数

「基準時刻」とは動作の起点となる時刻で、例えば「取得時間間隔」を300とし、 「基準時刻」を"00:01"とした場合、データの取得は 00:01, 00:06, 00:11 ... 00:56, 01:01 ... 23:56, 00:01 の定刻に行われます。
データの取得開始時刻は「基準時刻」に設定さた時刻そのものではなく、 「基準時刻」と「取得時間間隔」から算定される直近の時刻となります。
例えば 08:30 に「基準時刻」"01:05"、 「取得時間間隔」10800の設定が行われた場合、 最初のデータ取得は10:05に行われ、以降13:05, 16:05, 19:05, 22:05, 01:05 の順におこなわれます。