LoRa/RS-485 通信変換器
HLR-RS485
通信仕様書

RS-485(Modbus)インターフェース

２０２３年１２月２８日

Ｔ－５２３４５改訂３

改訂履歴日付

改訂者

2018/09/14

野村

2019/02/19

山下

2019/08/27

山下

2023/12/28

溝口

Ｔ－５２３４５改訂３改訂

内容

初版
改訂 1
P12 説明文修正、レジスタ割付修正
P13 キャリアセンス異常エラー追加
改訂２
ﾌｧｰﾑｳｪｱﾊﾞｰｼﾞｮﾝ 2.00 未満のレジスタアドレス表を追加。
03 コマンドレジスタ割付変更。
04 コマンドと 04 コマンド用アドレス表を追加。
改訂３
P12 [10]制限事項(3)通信間隔について 追加(4)ブロードキャストについて 追加

承認

確認

開発課
'24.01.09
野村

開発課'23.12.28
山下作成

（ 3 ）

目次【１】概要 ........................................................................ 4【２】基本仕様 .................................................................... 4【３】通信モードについて .......................................................... 4【４】通信局番について ............................................................ 5【５】接続構成 .................................................................... 6【６】送受信シーケンス ............................................................ 9【７】電文の基本構成 ............................................................. 10【８】ファンクションコード ....................................................... 11【９】メッセージ・フレーム構成 ................................................... 11【１０】制限事項 ................................................................. 12【１１】レジスタ一覧 ............................................................. 13【１２】エラー原因と処理内容 ..................................................... 16

Ｔ－５２３４５改訂３（ 4 ）【１】概要
本書は、当社の LoRa/RS-485 通信変換器（型式：HLR-RS485）を 2 台使用して無線の「親局」・「子局」を構成し、RS-485 通信回線の一部を無線化する場合の通信仕様及び制限事項について定義するものです。
以下、LoRa/RS-485 通信変換器を本装置と記載します。

【２】基本仕様
インターフェース
通信速度
同期方式
通信制御方式
伝送モード
データ形式

誤り検出

RS-485（Modbus 準拠）
9600bps,19200bps（内部設定式）
調歩同期式（非同期式）
ポーリングセレクション方式（2 線式半二重モード）
RTU
スタートビット ： 1bit
データ長 ： 8bit
パリティビット ： 無／偶数／奇数
ストップビット ： 1bit／2bit
CRC-16（X16＋X15＋X2＋1）【３】通信モードについて
本装置には、通信モードの設定があります。本装置のボタン操作により設定変更可能です。
通信モードには、下記の種類があり、利用形態に応じて利用する全ての本装置に設定を行う必要があります。
（１）当社製 IoT ゲートウェイ（型式：HLR-GW-L）と通信するモード
LoRa
無線通信

Ethernet(有線 LAN)

RS-485パソコン

IoT ゲートウェイ(HLR-GW-L)

Ｔ－５２３４５改訂３

本装置(HLR-RS485)

当社製計測器（TWPM 等）（ 5 ）（２）無線「親局」または無線「子局」として使用するモード
親局

LoRa
無線通信 子局

RS-485
RS-485
Modbus 通信親機
(マスター)

本装置

本装置

Modbus 通信子機
（スレーブ）

このモードで使用する場合、マスター側に設置した本装置を「親局（Parent）」、スレーブ側に設置した本装置を「子局（Child）」に設定してご使用ください。
ご使用になる形態により、複数の親局または複数の子局を設置する場合があり、下記の仕様で動作します。
① 親局が出力した LoRa 無線の電波は、他の親局は無視します。
② 子局が出力した LoRa 無線の電波は、他の子局は無視します。

【４】通信局番について一般的な Modbus 対応機器の通信局番は、システム内でユニークな局番（アドレス）を設定するだ
けですが、本装置には開始局番と終了局番を設定します。
開始局番は本装置自身の通信局番となります。
本装置は、開始局番＋1～終了局番の範囲内の電文を受信したとき、その電文を LoRa 無線に変換します。
本装置を利用する場合、ブロードキャスト通信はご使用になれません。ご注意ください。
通信局番は、01h～F7h の間で設定します。

Ｔ－５２３４５改訂３

（ 6 ）【５】接続構成
無線「親局」または無線「子局」として使用するモードの場合、次の利用形態があります。
（１）1 台の本装置を無線親局として用い、1 台の本装置を無線子局として使用する場合
親局と子局が 1 対 1 で無線通信を行い、子局と Modbus 通信子機が 1 対多で有線通信を行います。

LoRa無線通信
親局①RS-485
子局①Modbus 通信子機
（スレーブ）

RS-485本装置

Modbus 通信親機
(マスター)

本装置

局番設定例：

親局①

子局①

子局①に接続する
機器

開始局番
（自局番）

01h

10h

11h～1Fh

終了局番

F7h

1Fh

-

上記の設定の場合、親局①は、Modbus 通信親機から出力された電文の局番をチェックし、開始局番と一致すれば、自らのデータを返信します。
開始局番＋1～終了局番の範囲内だった場合、LoRa 無線通信を行い、子局からの応答を待ちます。
子局① は LoRa 通信により受信した電文の局番をチェックし、開始局番と一致すれば、自らのデータを LoRa 通信により返信します。
開始局番＋1～終了局番の範囲内だった場合、有線通信を行い、その応答結果を LoRa 無線通信により親局へ送ります。
（応答なしだった場合も親局へ通知します）
子局①からの応答を親局①が受信できた場合は、その内容を Modbus 親機へ通知します。
子局①からの応答を親局①が受信できなかった場合は、該当局番のエラーとして、親局①は Modbus通信親機へ通知します。

Ｔ－５２３４５改訂３

（ 7 ）（２）1 台の本装置を無線親局として用い、複数台の本装置を子局として利用する場合親局と子局が 1 対多で無線通信を行います。
子局①RS-485

親局①

本装置
LoRa
無線通信
子局②

RS-485

RS-485 通信
Modbus 通信親機
(マスター)

Modbus 通信子機
（スレーブ）

本装置

本装置

子局③

RS-485
本装置
局番設定例：

親局①

子局①

子局①に接続する
機器

子局②

子局②に接続する
機器

子局③

子局③に接続する
機器

開始局番
（自局番）

01h

10h

11h～1Fh20h

21h～2Fh30h

31h～3Fh

終了局番

F7h

1Fh-

2Fh-

3Fh-

上記の設定の場合、親局①は、Modbus 通信親機から出力された電文の局番をチェックし、開始局番と一致すれば、自らのデータを返信します。
開始局番＋1～終了局番の範囲内だった場合、LoRa 無線通信を行い、子局からの応答を待ちます。
子局①～ ③ は LoRa 無線通信により受信した電文の局番をチェックし、開始局番と一致すれば、自らのデータを LoRa 無線通信により返信します。
開始局番＋1～終了局番の範囲内だった場合、有線通信を行い、その応答結果を LoRa 無線通信により親局へ送ります。
（応答なしだった場合も親局へ通知します）
子局①～ ③ からの応答を親局①が受信できた場合は、その内容を Modbus 通信親機へ通知します。
子局からの応答を親局①が受信できなかった場合、親局①は該当局番のエラーを Modbus 通信親機へ出力します。

Ｔ－５２３４５改訂３

（ 8 ）（３）複数台の本装置を無線親局として用い、それぞれに対応した子局を用意する場合（無線が必要な箇所のみ部分的に使用する場合）
Modbus 通信親機と親局が 1 対多で有線通信を行い、親局と子局が 1 対 1 で無線通信を行います。
LoRa
無線通信
子局①
親局①

RS-485

RS-485
本装置

本装置

親局②

子局②

Modbus 通信子機
（スレーブ）

RS-485

Modbus 通信親機
(マスター)
本装置

本装置

親局③

子局③

RS-485
本装置

本装置
局番設定例：

親局①

親局②

親局③

開始局番
（自局番）

11h

21h

31h

終了局番

1Fh

2Fh

3Fh

子局①

子局①に接続する
機器

開始局番
（自局番）

12h

終了局番

1Fh

子局②

子局②に接続する
機器

子局③

子局③に接続する
機器

13h～1Fh22h

23h～2Fh32h

33h～3Fh

-

2Fh-

3Fh

-

上記の設定の場合、親局①が出力した電波は、子局①～③の全てが受信しますが、開始局番と終了局番の設定により、子局①だけが Modbus 通信子機に対して有線通信を行います。
子局①が出力した電波は、親局①～③の全てが受信しますが、開始局番と終了局番の設定により、親局①だけが有線通信を行い、Modbus 通信親機へ出力します。

Ｔ－５２３４５改訂３

（ 9 ）【６】送受信シーケンス
マスターからの要求電文に対してスレーブが応答電文を返信する形で通信します。
要求電文と応答電文、または応答電文と次の要求電文の間には、3.5 文字以上の無通信時間（サイレントインターバル）を設け、この間は通信電文を出力しないようにします。
この他、マスターからの有線通信による要求電文を親局が受け無線通信を開始するまでの間、またはスレーブからの有線通信による応答電文を子局が受け無線通信を開始するまでの間にも 3.5 文字以上の無通信時間（サイレントインターバル）を設け、この間は通信電文を出力しないようにします。
（１）当社製 IoT ゲートウェイ（型式：HLR-GW-L）と通信する場合
当社製 IoT ゲートウェイ
HLR-GW-L

HLR-RS485

Modbus 通信子機
（スレーブ）

要求電文(有線通信)

要求電文(無線通信)

応答電文(有線通信)ｔｔ
応答電文(無線通信)

上記図の t の部分が、サイレントインターバル帯となります。

（２）無線「親局」または無線「子局」として使用する場合
Modbus 通信親機
（マスター）HLR-RS485
親局

HLR-RS485
子局

Modbus 通信子機
（スレーブ）

要求電文(有線通信)ｔ
要求電文(有線通信)

要求電文(無線通信)

応答電文(有線通信)ｔ
応答電文(有線通信)ｔ

応答電文(無線通信)

要求電文(有線通信)

上記図のｔの部分が、サイレントインターバル帯となります。

Ｔ－５２３４５改訂３ｔ

（ 10 ）

【７】電文の基本構成

Start
無通信時間

Address
8 ビット

Function
8 ビット

Dataｎ * 8 ビット

CRC
16 ビットEnd
無通信時間（１）Start および EndModbus RTU モード時のフレームは、3.5 文字分の無通信時間（サイレントインターバル）で始まり、3.5 文字分のサイレントインターバルで終わります。
（２）Address（アドレスフィールド）アドレスには、0～247(10 進数)が指定されます。
255 はブロードキャスト用として使用され、スレーブのアドレスには 1～247(10 進数)を使用します。
マスタがスレーブに要求電文を送信する場合には、このフィールドにスレーブのアドレスをセットします。
スレーブがマスタに応答電文を返す場合には、スレーブのアドレスをセットします。
これにより、マスタはどのスレーブからの応答であるかを知ることができます。
※ 本装置を使用する場合、ブロードキャスト通信を行うことはできません。
（３）Function（ファンクションコード）
ファンクションコードには、1～127(10 進数)が指定されます。
スレーブの種類によって利用可能な値が異なります。
スレーブはファンクションコードの値によって、指定された機能を実行します。
実行後、応答電文を返す場合、要求電文と同じ値を返します。
エラーが発生した場合は、要求されたファンクションコードの最上位ビット(MSB)に 1 をセットした値を返します。
（４）Data（データフィールド）ファンクションに関連したデータを送信する場合に使用します。
フィールド長は可変で、データが無い場合もあります。
（５）CRC（エラーチェックフィールド）このフィールドは、16 ビットのデータを二つの 8 ビットデータに分けてセットします。
CRC(Cyclical Redundancy Check)演算で計算します。
受信側は、受信電文から計算した CRC 値と電文中のエラーチェックフィールドを比較し、一致しない場合は受信した電文を破棄します。
CRC は、Address～Data までが演算対象となります。スタート及びストップ、パリティビットは演算に含みません。
また、16 ビットの演算結果を、下位バイト、上位バイトの順で付加してください。
具体的な演算方法につきましては、Modbus Organization（下記リンク参照）から入手できる仕様書(MODBUS Protocol Specification)をご確認ください。
http://www.modbus.org/specs.php

Ｔ－５２３４５改訂３

（ 11 ）

【８】ファンクションコード
本装置のデータを読み出す場合、下記のファンクションコードが利用可能です。

ファンクションコード
03H
04H

要求内容
Read Holding Registers
Read Input Registers

本装置に接続した Modbus 通信機器で使用可能なファンクションコードについては、各機器の通信仕様書をご確認ください。

【９】メッセージ・フレーム構成
メッセージ・フレームの構成は使用するファンクションコードにより異なります。
ここでは、本装置のデータを読み込む場合のメッセージ・フレーム構成を記します。
本装置に接続した Modbus 通信機器のメッセージフレーム構成については、各機器の通信仕様書をご確認ください。
・Read Holding Registers(03H) 及び Read Input Registers(04H) のフレーム構成
マスタ→スレーブ
Start

Address

Function

開始ｱﾄﾞﾚｽ（上位）

開始ｱﾄﾞﾚｽ（下位）

ﾚｼﾞｽﾀ数（上位）

Function

ﾊﾞｲﾄ数

ﾃﾞｰﾀ 1（上位）

ﾃﾞｰﾀ 1（下位）

ﾚｼﾞｽﾀ数
（下位）

CRC
（下位）

CRC
（上位）

EndCRC
（下位）

CRC
（上位）

End

スレーブ→マスタStart

Address「開始アドレス」または「アドレス」：読み込む（または書き込む）レジスタの先頭アドレスをセットします。
「レジスター数」：読み込む（または書き込む）レジスタ数をセットします。
「バイト数」：データのバイト数（レジスタ数×2）をセットします。

Ｔ－５２３４５改訂３

（ 12 ）

【１０】制限事項（１）レジスタ数の制限
本装置は、LoRa Private 方式の無線通信を使用します。
Modbus RTU 規格準拠のデータをパケットに乗せることが可能ですが、そのペイロード（一度に送信できるデータサイズ）は 100byte となっております。
ペイロードの一部領域は、本装置のシステム情報も含んでいるため、要求電文または応答電文のレジスタ数は 40 レジスタ以下でご使用ください。
40 レジスタ以上のデータを送受信する必要がある場合は、2 回以上の通信に分ける必要があります。
（２）応答時間についてLoRa 無線通信でエラーが発生した場合、リトライを行います。
親局及び子局がリトライを行った後に通信成功した場合、Modbus 通信親機が要求電文を出力してから応答電文を受信完了するまでに最大 12 秒かかる場合があります。
上位システムは、LoRa 無線にかかる時間を考慮した設計を行ってください。
（３）通信間隔について
Modbus 通信親機と子機が 1 回の通信を終えてから、次の通信を開始するまでの間隔は 5 秒以上あけてください。
5 秒未満の短い間隔で通信を繰り返した場合、電波法に抵触する恐れがあります。
（４）ブロードキャストについて本装置を使用する場合、ブロードキャスト通信を行うことはできません。

Ｔ－５２３４５改訂３

（ 13 ）

【１１】レジスタ一覧
本書は、データの開始アドレスで表記します。
実際の通信電文にそのままセットして伝送してください。
開始アドレス ＝ 4301 (10CDh) の場合
開始アドレスの上位には 10h、下位には CDh をセットします。
・Read Holding Registers(03H)
本装置のバージョン情報の確認や、設定値の読み込みに使用します。
予備のレジスタに対して読み込みを行った場合、値は不定値です。
予備のレジスタの値は使用しないでください。
（HLR-RS485 ファームウェアバージョン 2.00 未満）
開始アドレス
レジスタの内容
30001
予備
↓↓
30100
予備
30101
デバイス バージョン情報 130102
デバイス バージョン情報 230103
デバイス バージョン情報 330104
デバイス バージョン情報 430105
通信モジュール バージョン情報１30106
通信モジュール バージョン情報 230107
通信モジュール バージョン情報 330108
通信モジュール バージョン情報 430109
予備
↓↓
30120
通信局番（終了局番）30121
通信局番（開始局番）
30122
RS-485 通信速度
30123
RS-485 パリティビット
30124
RS-485 ストップビット
30122
予備
↓↓
30128
通信モード

30129
↓30203
30204
↓
30220
30221
↓

予備
↓
LoRa 通信：グループ ID
予備↓LoRa 通信：送信強度
予備↓Ｔ－５２３４５改訂３

データ詳細

8 バイト文字列
文字列が「01234567」の場合
3031h,3233h,3435h,3637h の順にセットされます。
8 バイト文字列
文字列が「01234567」の場合
3031h,3233h,3435h,3637h の順にセットされます。

1：9600(bps)、2：19200(bps)
0：無し、1：奇数、2：偶数
1：1bit、2：2bit

1:IoT ゲートウェイと連動
2:通信変換器（親局）
3:通信変換器（子局）

（ 14 ）

（HLR-RS485 ファームウェアバージョン 2.00 以降）
開始アドレス
レジスタの内容
3001
予備
↓↓
3100
予備
3101
デバイス バージョン情報 13102
デバイス バージョン情報 23103
デバイス バージョン情報 33104
デバイス バージョン情報 43105
通信モジュール バージョン情報１3106
通信モジュール バージョン情報 23107
通信モジュール バージョン情報 33108
通信モジュール バージョン情報 43109
予備
↓↓
3119
予備
3120
通信局番（終了局番）3121
通信局番（開始局番）
3122
RS-485 通信速度
3123
RS-485 パリティビット
3124RS-485 ストップビット
3122
予備
↓
↓
3127
予備3128
通信モード

3129
3130
3131
3132
3133
↓

予備
LoRa 通信：グループ ID
LoRa 通信：ネットワークキー
LoRa 通信：送信強度
予備↓Ｔ－５２３４５改訂３

データ詳細

8 バイト文字列
文字列が「01234567」の場合
3031h,3233h,3435h,3637h の順にセットされます。
8 バイト文字列
文字列が「01234567」の場合
3031h,3233h,3435h,3637h の順にセットされます。

1：9600(bps)、2：19200(bps)
0：無し、1：奇数、2：偶数
1：1bit、2：2bit

1:IoT ゲートウェイと連動
2:通信変換器（親局）
3:通信変換器（子局）

（ 15 ）

・Read Input Registers(04H)
本装置の計測値の読み込みに使用します。
予備のレジスタに対して読み込みを行った場合、値は不定値です。
予備のレジスタの値は使用しないでください。

（HLR-RS485 ファームウェアバージョン 2.00 未満）
未対応（HLR-RS485 ファームウェアバージョン 2.00 以降）
開始アドレス
レジスタの内容
4099
予備4100
最新 RSSI 値
4101
子局（01）用 RSSI 値
4102
子局（02）用 RSSI 値↓↓
4346
子局（F6）用 RSSI 値
4347
子局（F7）用 RSSI 値
4348
予備
↓↓

Ｔ－５２３４５改訂３

データ詳細

親局のみ有効。
子局の場合 0000 固定。

（ 16 ）

【１２】エラー原因と処理内容
エラー項目
フレーミングエラー

エラー内容
受信した信号の異常。

エラーが発生した機器の処理応答電文は返さず、受信電文を破棄し、受信待ち状態になる。

オーバーランエラー
パリティエラー
CRC エラー

要求電文の CRC とスレーブが計算した CRC が一致しない。

イリーガル
ファンクション

未サポートのファンクションコードを受信。

エラーコード＝01h で応答する。

レジスタアドレスエラー

要求レジスタアドレスが存在しない。

エラーコード＝02h で応答する。

データ値エラー

データが許容範囲外。
または、設定項目データ数と電文のデータ数が一致しない。

エラーコード＝03h で応答する。

キャリアセンス異常
エラー

LoRa 無線のキャリアセンスにおいて、タイムアウトが発生。
（他の無線機が電波出力中）LoRa 無線通信において、子局の応答がない

エラーコード＝04h で応答する子局に接続したスレーブ機器が応答しない

エラーコード＝0Bh で応答する※

LoRa 無線通信異常

子局側スレーブ機器応答なし

エラーコード＝0Ah で応答する※※ Modbus 通信親機側に接続した HLR-RS485（親局）が、Modbus 通信親機に対して返します

要求電文

Start
無通信時間

Address
8 ビット

Function
8 ビット

Dataｎ * 8 ビット

CRC
16 ビット

End
無通信時間

CRC

End

16 ビット

無通信時間+80h
エラー応答電文

Start

Address

無通信時間

8 ビット

Error
Function
8 ビット

Error
Code
8 ビット
上記表を参照Ｔ－５２３４５改訂３