Modbus2クライアント設定
Modbus2クライアントは、Modbusモデリングファイルに基づきModbusプロトコルを用いてPLC機器から定期的にデータを読み込み(ポーリングを行い)、PD Repeater を介してクラウドに送ります。
また、PD Repeaterを介してクラウドから送られるModbusモデリングファイルに基づく制御メッセージ(JSON文字列)に基づきPLC機器にModbusプロトコルを用いて接続しデータを読み書きすることもできます。
WEB-UIのIoTデータ
→送受信設定
タブのModbus2クライアントデバイス設定
メニューより、Modbus2クライアントデバイスの設定を行うことが出来ます。
Modbus2クライアントデバイスを利用するためには、WEB-UIのサービス
→基本
→Modbus2(C)登録
タブより、サービス機能の基本設定としてModbus2クライアントデバイスが登録されている必要があります。サービス機能の基本設定については、スタートアップガイド のサービス機能を参照して下さい。
Modbus2クライアントデバイス設定
メニューが表示されていない場合は、アプリ設定を参照し、PD Handler MODBUS2 Clientを使用する
に設定して下さい。
ModbusモデリングファイルにPLC機器のモデリング定義を追加したい場合は、PDHMSリファレンスのPD Handler Modbus 2を参照して下さい。
登録済のModbus2クライアントデバイスが存在している場合、初期状態では上図のようになっています。(デバイスが1個登録されている場合です。)
Modbus2クライアントデバイスとは、PLC機器そのものではなく、対象となるPLC機器への接続形態(RTUプロトコルではデバイスファイル、TCPプロトコルではIPアドレス)を意図します。
デバイス毎に送信対象項目にて送信する
を選択すると各設定項目が表示されます。
送信対象一括有効
、送信対象一括無効
ボタンにて全ての登録済のデバイスの送信対象を制御できます。
送信する
を選択すると各設定項目が次のように表示されます。
使用プロトコル
としてTCP
(ネットワーク)を選択した場合の表示
使用プロトコル
としてRTU
(シリアル)を選択した場合の表示
Modbus2クライアントデバイス設定の設定項目
設定項目 | 説明 |
---|---|
デバイス番号 | 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の数値です。 |
インターバール[sec] | PL機器からデータを取得する時間間隔を数字で設定します。単位は秒です。 後述の基準時刻制御を使用する場合、時間間隔は以下の値へと内部的に変更されます。
|
基準時刻制御 | 特定の時刻にデータを取得する場合、本機能を有効とし基準時刻を設定しください。 |
基準時刻 | 特定の時刻にデータを取得する際の基準時刻を設定します。HH:MM形式となります。 |
固定情報付与(JSON) | データに付加する静的情報をJSON文字列で設定します。 |
送信先設定 | 使用する を選択した送信先に対してチェックボックスが選択できるようになります。チェックを付けた送信先に対して、送信を行います。 チェックをつけると送信先固有の設定項目が表示されます。 送信先固有の設定については、送受信先毎の設定を参照して下さい。 |
CSVファイルを用いた取得Modbus2クライアントデバイスの拡張
WEB-UIのシステム
→ファイル管理
タブより、 /var/webui/upload_dir にファイル名 pd_handler_modbus_2_client.csv のCSVファイルを置くことで、
WEB-UI で設定された1つのデバイス番号に対し複数の取得Modbus2クライアントデバイスを設定することができます。
CSVファイルの書式は、次の通りです。
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)で囲んで下さい。
記載例
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 ~ 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 の順におこなわれます。