ha.sumi
2022年5月11日 19時43分
お世話になります。
以下、ご相談させてください。
【事象】
Armadillo-IoT G3にRS485用のR02ハードモジュールを接続し、
マルチメーター(東光東芝様のSMシリーズ)とRS485で接続しています。
電文はマルチメーター用の独自プロトコルに従い、Armadillo側をマスターとして通信を行いたいです。
実際に動作させたところ、RS485の口にクリップして線の中で電文が流れている(いそう)ということは確認できたのですが、
Armadillo側のアプリケーションで待ち受けているselect処理はConnetion Timeoutとなってしまっています。
【ご相談内容】
事象よりArmadilloからマルチメーターへ電文が送信され、レスポンスを受けていると思われる為、
アプリからデバイスファイルなどの指定は合っているが、RS485端子の読み方がうまくいっていないのではないかと考えています。
ざっくりとした情報で恐縮ですが、原因および解決方法、または調査方法をご教示願えないでしょうか。
at_keitaro.takahashi
2022年5月12日 16時06分
高橋です。
ご使用のkernelバージョンを教えていただけますでしょうか。
kernelバージョンat19で、RS485などの通信に影響する不具合を修正したアップデートを行っています。
それ以前のバージョンをご使用の場合、更新を行った上で再度お試しいただけると幸いです。
バージョンは以下のコマンドで確認できます。
uname -a
kernelの更新手順については以下をご参照ください。
Armadillo-IoT ゲートウェイ G3 製品マニュアル「11.2.2. Linuxカーネルイメージの書き換え」
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…
問題が解決しない場合、以下の点について確認をお願いいたします。
・接続が正しいか
・アドオンモジュールのスライドスイッチ(半二重/全二重や終端抵抗の設定)が合っているか
・Armadilloのレジスタ設定値が合っているか(製品マニュアル「6.14.1. RS422/RS485 の通信設定を変更する」)
・https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…
・スレーブ側の設定とマスター側の設定が一致しているか
・通信速度(baudrate)やパリティビットなどのシリアルの設定
・通信プロトコル(Modbusなど)やModbusアドレスなどのRS485の設定
・機器仕様通りの通信を行っているか
・スレーブ機器ごとのデータシート・説明書などに記載されています
また、発生する問題について、
問題が発生する最小限のソースコードを添付して頂けると何かわかるかもしれません。
以上、よろしくお願いいたします。