Milesight UR3x&UR41ルーターでDOをコントロールする方法
説明
Milesight ルーターは1つのデジタル出力をサポートしています。この記事では、DOの原理とDOの制御方法について説明します。これらのモデルにおけるDOのハードウェア設計は同じです。この記事ではUR32を例として説明します。
UR32のピン定義は以下のようにです。他のモデルについては、対応するクイックガイドを参照してください。
ピン | RS232 | RS485 | DI | DO | 説明 |
1 | — | — | — | OUT | デジタル出力 |
2 | — | — | IN | — | デジタル入力 |
3 | GND | — | GND | — | グラウンド |
4 | — | — | COM | 共通グラウンド | |
5 | RXD | B | — | — | 受信データ |
6 | TXD | A | — | — | 送信データ |
1.DOの原理
DOはオプトカプラ出力です。DOが低レベルを出力すると回路がオンになります。DOが高レベルを出力すると回路がオフになります。そのため、外部回路に電源を供給してデバイスを制御する必要があります。DOポートは最大30V DCの入力に対応しています。出力電流は0.3A、出力電力は0.3Wです。出力電力が低いため、外部デバイスを駆動するには使用できません。実際の使用時、DOポートに高電圧入力が接続されている場合、回路が正しく動作するようにシリーズに抵抗を追加する必要があります。
2. Ways to control DO
- DIによるトリガー
- SMSによるトリガー
- CLIコマンドによるトリガー
- Modbus TCPによるトリガー
- Modbus RTUによるトリガー
- Modbus RTU over TCPによるトリガー
- MQTTによるトリガー
注意:同時に複数のトリガー方式を使用しないでください。
要件
- Milesight ルーター:UR32/UR35、UR41、UR75/UF51(ファームウェアバージョン76.x.x.x)
- バッテリー(12VDC)とブザーLED
設定
以下の図に従って接続してください:
COM — Battery(-) — Battery (+) — LED –DO
DOが低レベルを出力すると、回路がオンになり、LEDが点灯します。
DOがハイレベルを出力すると、回路がオフになり、LEDが消灯します。
簡単なテスト
DOが正常に動作しているか確認するための簡単なテストです:
- Service > I/O > DI でDI設定を有効にし、ActionをDO;に設定します。
- Service > I/O > DO でDO設定を有効にし、DOモードを変更し、SaveとApplyボタンをクリックします。DOモードは、DIがトリガーされた際にDOが切り替わるモードです。 「High Level」に設定すると、DIがトリガーされた際にDOステータスが低レベルになり、LEDが点灯します。 「Low Level」に設定すると、DIがトリガーされなくてもDOステータスがハイレベルになり、LEDが消灯します。
トラブルシューティング:
- テスト中にLEDが常に消灯しています。
A. バッテリー接続時にLEDが点灯するかどうかを確認してください。
B. Modbus Slave モードが既に無効になっていないか確認してください。
C. 設定を有効にするために「Save 」と「Apply 」ボタンをクリックしたか確認してください。
D. DOの正しいピンに接続されているか確認してください。
- テスト中にLEDが常に点灯しています。
A. 配線に短絡がないか確認してください。
B. COMポートとOUTポートが逆接続されていないか確認してください。
C. Modbus Slave モードが既に無効になっていないか確認してください。
DIによるトリガー
- Service > I/O > DIに移動し、DI設定を構成します。
-
2. Saveをクリックします。次に、Service > I/O > DOに移動し、DOを有効化しモードを構成します。
SaveとApplyボタンをクリックします。
この例では、DIがLowレベル(PIN1-INとPIN2-GNDを短絡接続)に変化すると、DOがHighレベルで1秒間トリガーされます。
SMSによるトリガー
- Network > Interface > Cellular に移動し、SMS センター番号を設定します。SMS センター番号は通信事業者によって異なります。
- System > Phone & SMS > Phone に移動し、電話番号リストと電話グループリストを追加します。
Save とApply ボタンをクリックします。
- SMS 制御機能を有効にし、制御対象の電話グループを選択します。
- Service > I/O -> DO に移動し、モードをカスタムに設定します。初期状態と電話グループを選択します。
Save とApply ボタンをクリックします。
- DOを制御するためのSMSコンテンツは以下です。
set do1 low,20 // DOを低レベル出力に設定、20は低レベル出力の持続時間です。
set do1 high,0 // DOをハイレベル出力に設定、0はハイレベル出力を継続的に行います。
do information // 現在のDOステータスを問い合わせます。
SMSを受信すると、ルーターは以下のように応答します。
CLIコマンドによるトリガー
以下のCLIコマンドでDOを制御できます。
ROUTER> en
ROUTER# conf t
ROUTER(config)# industrial-io-output 1
ROUTER(config-output_io)# mode-out low
ROUTER(config-output_io)# no shutdown //DOを低レベル出力に設定します。
ROUTER(config-output_io)# mode-out high
ROUTER(config-output_io)# no shutdown //DOを出力ハイレベルに設定します。
Modbus TCPによるトリガー
- Service > Modbus Server > Modbus TCPでModbus TCPを有効にします。ポートとDOアドレスを設定します。DOアドレスは1にできません
SaveとApplyボタンをクリックします
- Modbus Poll ソフトウェアを実行します。Modbus TCP/IP でルーターに接続し、IP とポートを設定します。この例では、UR32 は LAN ポート経由で PC に接続されています。そのため、IP は LAN IP 192.168.1.1 です。
機能として「01 Read Coil (0x)」を選択します。
その後、Modbus Poll で現在の DO ステータスを読み取ることができます。
- レジスタの値をダブルクリックすると、値を変更することでDOステータスを制御できます。
off/0はLowレベルで、LEDが点灯します。
on/1はHighレベルで、LEDが消灯します。
Modbus RTUによるトリガー
- ルーターをUSBからRS232/RS485ケーブルでPCに接続します。RS232を例に説明します。
- Server > Serial Port > Serial RS232 タイプで Modbus サーバーモードを有効にします。
Save & Apply ボタンをクリックします。
- Service > Modbus Server > Modbus RTU で対応するシリアルポートを有効にします。サーバー ID と DO アドレスを設定します。DO アドレスは 1 にはできません。
Save と Apply ボタンをクリックします。
- Modbus ポールソフトウェアを実行します。シリアルポートモードでルーターに接続します
- レジスタの値を変更することで DO を制御できます。
Modbus RTU over TCPによるトリガー
- NetassistソフトウェアをTCPサーバーとして実行します。ルーターからTCPサーバーにアクセスできることを確認します。
この例では、ルーターはLANポート経由でPCに接続されています。PCのIPアドレスは192.168.1.100です。
- Service > Modbus Server > Modbus RTU over TCPに移動し、有効にします。
Device ID: ユーザー定義
DOアドレスは1に設定できません。
Netassistソフトウェアで設定したサーバーIPとポートを構成します。
SaveとApplyボタンをクリックします。しばらくするとルーターが接続されます。
- その後、TCPサーバーからDOステータスを制御するためのコマンドを送信できます。
制御コマンドはサーバーIDとDOアドレスによって異なります。
この例では、スレーブIDは1で、DOアドレスは0です。
制御フレーム:
サーバーID | ファンクションコード | スタート(DOアドレス) | 値 | CRC パリティ |
0x01 | 0x05 | 0x00 0x00 | 0xFF 0x00
(high level) |
0x8C 0x3A |
0x01 | 0x05 | 0x00 0x0 | 0x00 0x00 (low level) |
0xCD 0xCA |
DOが正常に制御された場合、ルーターは同じフレームを応答として送信します。
MQTTによるトリガー
注:この機能は、ファームウェアバージョン3x.3.0.8以降を搭載したUR3xのみに対応しています。
- Service > MQTTページに移動し、MQTT接続を追加してルーターをMQTTブローカーに接続します。
- 詳細については、記事「Milesight Router MQTT Messaging Feature」を参照してください。
- MQTTダウンリンクコマンドを送信するためのステータスリクエストトピックと、応答を受信するためのステータスレスポンストピックをカスタマイズします。
- MQTTクライアントソフトウェアで、ステータスリクエストとステータスレスポンストピックの両方にサブスクライブします:
- ステータスリクエストトピックにDO制御コマンドを送信します。リクエスト形式はJSON形式です。
DOコマンド形式:
{ "id": "1", //Random value "sn": "64E1213132456", //Device SN "status": "do", "need_response": "1" //0=no need response, 1=need response}
HTML応答形式:
{ "id": "1", //The same as request "sn": "64E1213132456", "status": "do", "time": "2024-04-15T07:32:17Z", //UTC report time "result": 0, //0=control failed, 1=control success, 2=DO disabled "data": { //DO configuration ......... }}
HTML -
送信後、ステータスレスポンストピックの下で応答を確認します。
—-以上—
関連記事
ルーターの使用
Milesightルーターのセルラー周波数帯域選択セルラーネットワークに登録する特定のセルラー周波数帯域を選択する方法について説明します
Milesight UR75&UF51ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
MilesightルーターをOpenVPN CloudConnexaに接続する方法CloudConnexaを例に、MilesightルーターとCPEでOpenVPNクライアントを構成する方法を説明します。
Milesightルータ間でIPsec VPNを確立する方法Milesight ルーター間で IPsec VPN を設定する方法について説明します。
MilesightルーターでのDIの使い方DI の使用方法と DI ステータスの確認方法について説明します
SMSの送受信と遠隔操作の方法この手順により、電話グループ1のSIM1番号のみがこのルーターを制御するためのメッセージを送信できるようになります。
Milesightルーターを経由してiOSをIPsec VPNに接続する方法説明 インターネットプロトコルセキュリティ(IPsec)は、インターネットプロトコルネットワーク上で […]
MilesightルーターでOpenVPNサーバーをセットアップする方法は?ルーター上でOpenVPNサーバーを構成する方法を説明します。
Python SDK のインストール方法とログの読み取り方法Python SDKとPython APPのインストール方法、およびアクティビティログの表示方法について説明します