Armadilloフォーラム

最近のArmadillo IoT G3+RS02でmodbus通信できない

kumikoohashi

2020年10月1日 17時24分

お世話になっております。
Armadillo IoT G3で、絶縁RS485アドオンモジュール RS02を使用し、
Modbusの通信に利用しています。

ここ一ヶ月ほどに納品されたアルマジロとアドオンで、これまでと同じ設定、同じプログラムで通信ができません。
半二重通信なのでsetenvには触れていません。
何かデフォルトの設定が代わったのでしょうか。
マニュアルやお知らせの見逃しでしたら申し訳ありません。

具体的には、C言語のlibumodbusを用いているので、DEBUGをオンにして確認すると
[01][03][00][64][00][02][85][D4]
を送ると、すぐに以下の値が戻り値として表示されます。
<01><03><00><64><00>
正しい結果はアドレス[00][64]の値が戻ることで、0だったり50だったりのはずですが、含まれていません。

カーネルやユーザーランド等は、二月前に納品されたものも、一月内のものも、最新です。
型番の末尾2と3でもかわりますか。
よろしくお願いいたします。

コメント

at_syunya.ohshio

2020年10月1日 17時51分

大塩です。

> お世話になっております。
> Armadillo IoT G3で、絶縁RS485アドオンモジュール RS02を使用し、
> Modbusの通信に利用しています。
>
> ここ一ヶ月ほどに納品されたアルマジロとアドオンで、これまでと同じ設定、同じプログラムで通信ができません。
> 半二重通信なのでsetenvには触れていません。
> 何かデフォルトの設定が代わったのでしょうか。
> マニュアルやお知らせの見逃しでしたら申し訳ありません。
>
> 具体的には、C言語のlibumodbusを用いているので、DEBUGをオンにして確認すると
> [01][03][00][64][00][02][85][D4]
> を送ると、すぐに以下の値が戻り値として表示されます。
> <01><03><00><64><00>
> 正しい結果はアドレス[00][64]の値が戻ることで、0だったり50だったりのはずですが、含まれていません。
>
> カーネルやユーザーランド等は、二月前に納品されたものも、一月内のものも、最新です。
> 型番の末尾2と3でもかわりますか。
> よろしくお願いいたします。

現状の状態を確認させてください。
お客様の現状は、以下という認識でよろしいでしょうか。
・二月前納品より前に納品されたArmadilloが存在し、そちらは動作している
・最新(カーネルat15)がインストールされている機器は、すべてModbus通信できない

動作しているArmadilloが存在する場合、以下コマンドでカーネルバージョンをご確認いただけますでしょうか。
uname -a

kumikoohashi

2020年10月1日 18時47分

大塩樣
返信ありがとうございます。大橋です。

> お客様の現状は、以下という認識でよろしいでしょうか。
> ・二月前納品より前に納品されたArmadilloが存在し、そちらは動作している
その通りです。

> ・最新(カーネルat15)がインストールされている機器は、すべてModbus通信できない
正常に通信できているるものもありますが、納品時期が異なります。

> 動作しているArmadilloが存在する場合、以下コマンドでカーネルバージョンをご確認いただけますでしょうか。
> uname -a

7月か8月に納品・Modbus 04コマンドが動作中の個体(/dev/ttymxc1)
atmark@armadillo:~$ uname -a
Linux armadillo 4.9.133-at15 #2 SMP PREEMPT Mon Jun 29 11:20:10 JST 2020 armv7l GNU/Linux

6月に納品・Modbus 03コマンドが動作中の個体(/dev/ttymxc1)
atmark@armadillo:~$ uname -a
Linux armadillo 4.9.133-at14 #2 SMP PREEMPT Tue May 26 19:22:34 JST 2020 armv7l GNU/Linux

今回の、9月に納品・Modbus 03コマンドが動かない個体
atmark@armadillo:~$ uname -a (アドオン二枚使用・/dev/ttymxc0,/dev/ttymxc1とも同様の結果)
Linux armadillo 4.9.133-at15 #2 SMP PREEMPT Mon Jun 29 11:20:10 JST 2020 armv7l GNU/Linux

atmark@armadillo:~$ uname -a (/dev/ttymxc1)
Linux armadillo 4.9.133-at15 #2 SMP PREEMPT Mon Jun 29 11:20:10 JST 2020 armv7l GNU/Linux

存在しないレジスタアドレスやコマンドを使うと、機器からアドレスが違う等のエラーがかえってくるので、送信はできているのではないかと思っています。

よろしくお願い申し上げます。

kumikoohashi

2020年10月1日 19時56分

お世話になっております。
大橋です。

modbusが使えない件ですが、こちらをみて、カーネルのバージョンを落とすことで使えるようになりました。
https://armadillo.atmark-techno.com/forum/armadillo/7330

よろしくお願いいたします。