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(ネットワーク)を選択した場合の表示
使用プロトコルとして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クライアントデバイスの拡張
システム⇒ファイル管理タブより、 /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 の順におこなわれます。