Modbusクライアント設定
Modbusクライアントは、Modbusプロトコルを用いてPLC機器から定期的にデータを読み込み(ポーリングを行い)、PD Repeater を介してクラウドに送ります。
また、PD Repeaterを介してクラウドから送られる制御メッセージ(JSON文字列)に基づきPLC機器にModbusプロトコルを用いて接続しデータを読み書きすることもできます。
IoTデータ⇒送受信設定タブのModbusクライアントデバイス設定ペインより Modbusクライアントデバイスの設定を行うことが出来ます。
Modbusクライアントデバイスを利用するためには、サービス⇒Dev登録⇒Modbus(C)登録タブより、サービス機能のデバイス登録としてModbusクライアントデバイスが登録されている必要があります。詳細は、デバイス登録機能のModbus(C)登録を参照して下さい。
Modbusクライアントデバイス設定ペインが表示されていない場合は、モジュール設定を参照し、PD Handler MODBUS Clientを使用するに設定して下さい。
登録済のModbusクライアントデバイスが存在している場合、初期状態では上図のようになっています。(デバイスが1個登録されている場合です。)
Modbusクライアントデバイスとは、PLC機器そのものではなく、対象となるPLC機器への接続方法の他、データを取得するための読込方法や読込開始アドレス、読込レジスタ数等の設定の組み合わせを意図します。
デバイス毎に送信対象項目にて送信するを選択すると各設定項目が表示されます。
送信対象一括有効
、送信対象一括無効
ボタンにて全ての登録済のデバイスの送信対象を制御できます。
送信するを選択すると各設定項目が次のように表示されます。
使用プロトコルとしてTCP(ネットワーク)を選択した場合の表示
使用プロトコルとしてRTU(シリアル)を選択した場合の表示
Modbusクライアントデバイス設定の設定項目
設定項目 | 説明 |
---|---|
デバイス番号 | OpenBlocksシリーズのWEB-UI内で管理している番号です。変更はできません。 |
データ間引間隔 | データを間引くための入力データを受け取らない時間をmsec単位で設定します。 0の場合、間引きは行われません。 |
バッファーサイズ | データの最大サイズを設定します。単位はバイトです。 |
受信設定 | PD Repeaterを介してクラウドからの制御メッセージを受ける下流方向制御を行うか否かを選択します。 |
ユーザーメモ | 登録されたデバイスにて設定されたメモ情報を表示します。 |
固定情報付与(JSON) | データに付加する静的情報をJSON文字列で設定します。 |
読込方法 | デジタル出力(ビット)、デジタル入力(ビット)、レジスタ出力、レジスタ入力から選択します。 デジタル出力またはデジタル入力を選んだ場合は、0または1の並びが出力されます。 |
データタイプ | 読込方法をレジスタ出力、入力レジスタを選択した際に、出力のデータタイプを以下から選択します。
|
読込開始アドレス | 読み込みたいデータが格納されているPLC機器上の開始アドレスを設定します。 |
読込レジスタ数 | 読込方法としてデジタル出力またはデジタル入力が選択されている場合は、読み込まれるビット数と解釈されます。開始アドレスに設定されるアドレスから読み込むレジスタ数もしくビット数を設定します。 |
ユニットID | PLC機器のModbus ユニットIDを設定します。ユニットIDは、1~247または255の数値です。 |
取得時間間隔[sec] | PLCデバイスからデータを取得する時間間隔を数字で設定します。単位は秒です。 後述の基準時刻制御を使用する場合、時間間隔は以下の値へと内部的に変更されます。
|
基準時刻制御 | 特定の時刻にデータを取得する場合、本機能を有効とし基準時刻を設定しください。 |
基準時刻 | 特定の時刻にデータを取得する際の基準時刻を設定します。HH:MM形式となります。 |
タイムアウト[ms] | PLC機器からデータを取得する際のタイムアウトを設定します。単位はミリ秒です。 |
使用プロトコル | TCP、RTUのいずれかを選択します。TCPはネットワーク、RTUはシリアルです。 |
接続アドレス | 接続するPLC機器のIPアドレスを設定します。 |
接続ポート | 接続するPLC機器のTCPポート番号を設定します。デフォルト値は、502です。 |
読込デバイスファイル | PLC機器を接続するシリアルポートのデバイスファイル名を設定します。 |
ボー・レート | シリアルポートのボー・レートを選択します。 |
パリティビット | シリアルポートのパリティビットを選択します。 |
データビット | シリアルポートのデータビット数を選択します。 |
ストップビット | シリアルポートのストップビット数を選択します。 |
タイムアウト許容回数 | 設定された回数を超えて、タイムアウトが連続して場合にシリアルポートをリセットします。 デフォルト値は、10です。 |
送信先設定 | 使用するを選択した送信先に対してチェックボックスが選択できるようになります。 チェックを付けた送信先に対して、送信を行います。 チェックをつけると送信先固有の設定項目が表示されます。送信先固有の設定については、送受信先毎の設定を参照して下さい。 |
CSVファイルを用いた取得Modbusクライアントデバイスの拡張
システム⇒ファイル管理タブより、 /var/webui/upload_dir にファイル名 pd_handler_modbus_client.csv のCSVファイルを置くことで、WEB-UIで設定された1つのデバイス番号に対し複数の取得Modbusクライアントデバイスを設定することができます。
CSVファイルの書式は、次の通りです。
PD Handler Modbus ClientのCSVファイルの書式
パラメータ | データの形式 | 説明 |
---|---|---|
デバイス番号 | 半角英数字 | WEB-UIにより割り振れたデバイス番号を記載します。WEB-UIに設定されていないデバイス番号は無視されます。 先頭が #または/の場合は、コメント行として扱われます。 |
ユニットID | 半角数字 | PLC機器のModbusユニットIDを設定します。 ユニットIDは、1~247または255を記載します。 |
読込方式 | 半角英数字 | 読込方式として次の何れかを記載します。
|
データタイプ | 半角英数字 | データタイプとして次の何れかを記載します。
|
読込開始アドレス | 半角英数字 | 読み込みたいデータが格納されているPLC機器上の開始アドレスを設定します。 先頭が 0x の場合は16進数と解釈されます。 |
読込レジスタ数 | 半角数字 | 読み込みたいレジスタ数を記載します。 |
info
各パラメータの区切りはカンマ、先頭がシャープ # もしくはスラッシュ / の行はコメント行と見なされます。
記載例
info
CSVファイルが読み込まれるとWEB-UIで設定されたModbusクライアントデバイスは上書きされます。
そのため、CSVファイルにはWEB-UIで設定したModbusクライアントデバイスを含む取得したい全てのModbusクライアントデバイスを記載して下さい。
基準時刻制御
基準時刻制御は、特定の時刻にデータを取得する機能です。
Modbusクライアントデバイス設定ペインの基準時刻制御を有効にし、取得時間間隔[sec]と基準時刻で取得間隔と取得時刻を設定します。
基準時刻制御における取得時間間隔は 300, 600, 900, 1800, 3600, 7200, 10800, 14400, 21600, 28800, 43200 と 86400 の倍数に限られます。
取得時間間隔としてこれら以外の値が設定されるとPD Handler Modbus Client内で次のように扱われます。
基準時刻制御における取得時間間隔の設定と実動作値
取得時間間隔の設定値 | 実動作値 |
---|---|
0 ~ 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の順におこなわれます。