Modbus2クライアント設定

Modbus2クライアントは、Modbusモデリングファイルに基づきModbusプロトコルを用いてPLC機器から定期的にデータを読み込み(ポーリングを行い)、PD Repeater を介してクラウドに送ります。
また、PD Repeaterを介してクラウドから送られるModbusモデリングファイルに基づく制御メッセージ(JSON文字列)に基づきPLC機器にModbusプロトコルを用いて接続しデータを読み書きすることもできます。 IoTデータ⇒送受信設定タブのModbus2クライアントデバイス設定ペインより、Modbus2クライアントデバイスの設定を行うことが出来ます。
Modbus2クライアントデバイスを利用するためには、サービス⇒Dev登録⇒Modbus2(C)登録タブより、サービス機能のデバイス登録としてModbus2クライアントデバイスが登録されている必要があります。詳細は、デバイス登録機能Modbus2(C)登録を参照して下さい。
Modbus2クライアントデバイス設定ペインが表示されていない場合は、モジュール設定を参照し、PD Handler MODBUS2 Clientを使用するに設定して下さい。
ModbusモデリングファイルにPLC機器のモデリング定義を追加したい場合は、PDHMSリファレンスPD Handler Modbus 2を参照して下さい。

登録済のModbus2クライアントデバイスが存在している場合、初期状態では上図のようになっています。(デバイスが1個登録されている場合です。)
Modbus2クライアントデバイスとは、PLC機器そのものではなく、対象となるPLC機器への接続形態(RTUプロトコルではデバイスファイル、TCPプロトコルではIPアドレス)を意図します。

デバイス毎に送信対象項目にて送信するを選択すると各設定項目が表示されます。
送信対象一括有効送信対象一括無効ボタンにて全ての登録済のデバイスの送信対象を制御できます。

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

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

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

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

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

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

設定項目説明
デバイス番号OpenBlocksシリーズのWEB-UI内で管理している番号です。変更はできません。
データ間引間隔データを間引くための入力データを受け取らない時間をmsec単位で設定します。
0の場合、間引きは行われません。
バッファーサイズデータの最大サイズを設定します。単位はバイトです。
受信設定PD Repeaterを介してクラウドからの制御メッセージを受ける下流方向制御を行うか否かを選択します。
ユーザーメモ登録されたデバイスにて設定されたメモ情報を表示します。
全体固定情報付与(JSON)データに付加する(個々のPLC機器には依存しない)静的情報をJSON文字列で設定します。
タイムアウト[ms]PLC機器からデータを取得する際のタイムアウトを設定します。単位はミリ秒です。
プロトコルTCPRTUのいずれかを選択します。TCPはネットワーク、RTUはシリアルです。
接続アドレス接続するPLC機器のIPアドレスを設定します。
接続ポート接続するPLC機器のTCPポート番号を設定します。デフォルト値は、502です。
デバイスファイルPLC機器を接続するシリアルポートのデバイスファイル名を設定します。
ボー・レートシリアルポートのボー・レートを選択します。
パリティビットシリアルポートのパリティビットを選択します。
データビットシリアルポートのデータビット数を選択します。
ストップビットシリアルポートのストップビット数を選択します。
タイムアウト許容回数設定された回数を超えて、タイムアウトが連続して場合にシリアルポートをリセットします。
デフォルト値は、10です。
追加操作複数のPLC機器からデータを取得する場合は、追加ボタンをクリックします。
モデル/SKUプルダウンペインから対象となるPLC機器を選択します。
表示されるPLC機器はModbusモデリングファイルに記載されているものとなります。
ユニットIDPLC機器のModbus ユニットIDを設定します。ユニットIDは、1~247または255の数値です。
インターバール[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クライアントデバイスの拡張

システム⇒ファイル管理タブより、 /var/webui/upload_dir にファイル名 pd_handler_modbus_2_client.csv のCSVファイルを置くことで、 WEB-UI で設定された1つのデバイス番号に対し複数の取得Modbus2クライアントデバイスを設定することができます。
#から始まる行はコメントとして扱われます。

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

デバイス番号,ユニットID,ユニットID付加,メーカー名,プロダクト名,モデル名,SKU名,ユーザー定義固定キー1,ユーザー定義固定値1,ユーザー定義固定キー2,ユーザー定義固定値2,インターバル,基準時刻制御,基準時刻

PD Handler Modbus2 Client のCSVファイルの書式

パラメータデータの形式説明
デバイス番号半角英数字WEB-UIにより割り振れたデバイス番号を記載します。WEB-UIに設定されていないデバイス番号は無視されます。
先頭が '#'または'/'の場合は、コメント行として扱われます。
ユニット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形式となります。
info
  • 各パラメータの区切りはカンマ、先頭がシャープ'#'もしくはスラッシュ'/'の行はコメント行と見なされます。
  • 文字列にスペース(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
info

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

基準時刻制御

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

基準時刻制御における取得時間間隔の設定と実動作値

取得時間間隔の設定値実動作値
0 ~ 19960
120 ~ 179120
180 ~ 299180
300 ~ 599300
600 ~ 899600
900 ~ 1799900
1800 ~ 35991800
3600 ~ 71993600
7200 ~ 107997200
10800 ~ 1439910800
14400 ~ 2159914400
21600 ~ 2879921600
28800 ~ 4319928800
43200 ~ 8639943200
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 の順におこなわれます。