Armadilloフォーラム

Armadillo-IoT G3の絶縁RS485アドオンモジュール RS02でModbusの通信についてエラーが発生します

kaitoasai

2024年9月23日 11時20分

いつもお世話になっております。
Armadillo-IoT G3の絶縁RS485アドオンモジュール RS02でModbusの通信を試みているのですが、

 https://armadillo.atmark-techno.com/howto/connect-armadillo-x1_armadill

こちらのリンクの手順通りテスト中、最後の動作確認で、 

  ./wmb-dio8r-ctrl /dev/ttymxc0 on  

を実行すると、

 Opening /dev/ttymxc0 at 19200 bauds (N, 8, 1)
 [01][05][00][03][FF][00][7C][3A]
 Waiting for a confirmation...
 ERROR Connection timed out: select
 Bytes flushed (0)
 faild: Connection timed out
 modbus error

このようなエラーが発生しますが、DIGITAL OUTPUTのピン番号4がon(LEDが点灯)しました。
これは通信成功していると言えるのでしょうか。
間違っているとするとどのような設定が間違っているでしょうか。ご教授お願い致します。

ファイル ファイルの説明
スクリーンショット 2024-09-23 111950.jpg teratermの表示
20240923_022051644_iOS.jpg WMB-DIO8R下側④の点灯
コメント

at_syunya.ohshio

2024年9月24日 14時06分

大塩です。

> いつもお世話になっております。
> Armadillo-IoT G3の絶縁RS485アドオンモジュール RS02でModbusの通信を試みているのですが、
>
>  https://armadillo.atmark-techno.com/howto/connect-armadillo-x1_armadill
>
> こちらのリンクの手順通りテスト中、最後の動作確認で、 
>
>   ./wmb-dio8r-ctrl /dev/ttymxc0 on  
>
> を実行すると、
>
>  Opening /dev/ttymxc0 at 19200 bauds (N, 8, 1)
>  [01][05][00][03][FF][00][7C][3A]
>  Waiting for a confirmation...
>  ERROR Connection timed out: select
>  Bytes flushed (0)
>  faild: Connection timed out
>  modbus error

通信が成功している場合、以下のようなデータが返ってきますので、通信で失敗しているように見えます。

<01><05><00><03><FF><00><7C><3A>

Modbus通信を試みているArmadilloでご利用のカーネルバージョンをお教え頂けますでしょうか。

以上です。

大塩様

お世話になっております。
ご返信誠にありがとうございます。

> 通信が成功している場合、以下のようなデータが返ってきますので、通信で失敗しているように見えます。
>

> <01><05><00><03><FF><00><7C><3A>
> 

>
> Modbus通信を試みているArmadilloでご利用のカーネルバージョンをお教え頂けますでしょうか。
>

このあと、いろいろ試行錯誤している段階でエラーは出なくなりました。
RS02のSWの設定が誤っていたようです。

root@armadillo:~/wmb-dio8r-ctrl# ./wmb-dio8r-ctrl /dev/ttymxc0 on
Opening /dev/ttymxc0 at 19200 bauds (N, 8, 1)
[01][05][00][03][FF][00][7C][3A]
Waiting for a confirmation...
<01><05><00><03><00><7C><3A>
Request for slave 1 ignored (not -1)

このようなデータが返ってきています。
最後の行は気にしなくても良いでしょうか。

> 大塩様
>
> お世話になっております。
> ご返信誠にありがとうございます。
>
> > 通信が成功している場合、以下のようなデータが返ってきますので、通信で失敗しているように見えます。
> >

> > <01><05><00><03><FF><00><7C><3A>
> > 

> >
> > Modbus通信を試みているArmadilloでご利用のカーネルバージョンをお教え頂けますでしょうか。
> >
>
> このあと、いろいろ試行錯誤している段階でエラーは出なくなりました。
> RS02のSWの設定が誤っていたようです。
>
> root@armadillo:~/wmb-dio8r-ctrl# ./wmb-dio8r-ctrl /dev/ttymxc0 on
> Opening /dev/ttymxc0 at 19200 bauds (N, 8, 1)
> [01][05][00][03][FF][00][7C][3A]
> Waiting for a confirmation...
> <01><05><00><03><00><7C><3A>
> Request for slave 1 ignored (not -1)
>
> このようなデータが返ってきています。
> 最後の行は気にしなくても良いでしょうか。

追記
 カーネルバージョンは
 4.9.133-at28
 です。

at_syunya.ohshio

2024年9月24日 16時53分

大塩です。

ご連絡ありがとうございます。

カーネルバージョンにつきましては、RS485 に関する修正は at31 で通信の不具合修正がされているため可能であれば最新のカーネルバージョンをご利用頂ければと思います。

> Request for slave 1 ignored (not -1)
上記につきましては、通信ごとに毎回発生するでしょうか。

以上です。

返信ありがとうございます。

カーネルバージョンにつきましては、インストール検討致します。

> > Request for slave 1 ignored (not -1)
> 上記につきましては、通信ごとに毎回発生するでしょうか。
>
./wmb-dio8r-ctrl /dev/ttymxc0 onを実行するたびに発生致します。