本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

締切済み
※ ChatGPTを利用し、要約された質問です(原文:マイコン内でのデータ跳びの可能性について)

マイコン内でのデータ跳びの可能性について

2023/10/20 07:30

このQ&Aのポイント
  • 機械での『アワメータが戻る』事象について、5件の発生が確認されています。
  • 原因特定が難しく、異常は確認されていません。
  • 割り込み処理や組み込みソフトの不備により、正しくないデータが記録される可能性が考えられます。
※ 以下は、質問の原文です

マイコン内でのデータ跳びの可能性について

2020/02/10 19:47

弊社設計製作している機械において『アワメータが戻る』ことがあります。
発生件数は、判っているもので5件(発生率0.04%)です。
市場からは他に在る可能性も指摘されていますが、実情は判りません。
症状のあった個体を回収して再現試験をしましたが、再現出来ていません。
ハードの異常も目視レベルで確認しましたが、異常はありませんでした。
現在原因が判らず困っていますので何方か知恵を御貸し下さい。
組み込みソフトの仕様は、下記の通りです。
(1) マイコンはマイクロチップ社のチップマイコンを使用しています。
(2) マイコンに定義されている1秒カウンタを用いてアワメータカウントを行い、RAMに記録させている。
(3) RAMの何処に何を記録させるかは、組み込みソフトで決めている。
(4) 1つのマイコンでいくつかの処理を割り込み動作にて行っている。
(5) 組み込みソフトに『C ランタイム ライブラリ』の『memcop』等を用いており、『reentrant』の確認は出来ていない。

上記の条件にて、割り込み処理や『memcop』等、組み込みソフトの不備により、RAMが正しくないデータを記録したため、アワメータが戻ったとの可能性は無いのでしょうか?
可能性がありましたら、再度検証を行う様に制御担当に指示を出したいのです。
小生は機械技術者のため言葉足りずとは思いますが、識者のご意見を伺いたく存じます。

以上、よろしくお願いします。

回答 (6件中 1~5件目)

2020/02/12 10:17
回答No.6

No.1です。
秒カウントしてる変数が32ビット(最大約120万時間)なんかだと16ビットマイコンでも同じことですよ。
変数のアクセスに割り込みとケンカしない排他処理しないとおかしくなりますから。

お礼

2020/02/13 11:52

了解しました。
マイコンの組み込みソフト設計者からは、アプリケーションレイヤー(ソフト)の割り込み処理やメモリコピー等の問題は無いと言われていますが、かと言って不具合原因が特定されていない状況です。
勇気を頂きましたので、再度、ソフト設計者と話しあってみます。
ありがとうございました。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2020/02/11 12:58
回答No.5

装置に組み込まれている電気機器にソレノイド、電磁接触器、電磁リレー
モーターなどがありますと、これらの機器が動作(開閉)した時にサージ電圧
(急峻な波形で異常な高い電圧)が発生します。
この現象とともにノイズが発生し配線を経由して電子回路に悪影響を与え
ます。
また、空中に電波としてノイズが侵入することが知られています。
次のような対策が考えられますので、対策していなければ検討して実行する
ことをお勧めします。
1)電気機器に「ノイズフィルター」を追加する。
2)強電回路の配線と電子回路の配線をできるだけ離す。
3)配線を撚り合わせる。
4)シールド線を使用する。
5)接地線のルートを見直す。
6)マイコン部分の電子回路全体を鉄板カバーで覆う。
(注)
これらの現象は「目視」では判断できません。
「メモリレコーダ」などを使用して誤動作が発生するまで連続監視して、
原因を調査し、対策する必要と思います。

お礼

2020/02/12 09:44

ありがとうございました。
参考にさせて頂きます。

質問者
2020/02/11 01:39
回答No.4

「アワメータが戻る」というのが具体的に、どういう事かわかりませんが、
実装の不備(それが割り込み処理なのか組み込みソフトなのかはわかりませんが)によって起こりえるとは思います。

>上記の条件にて、割り込み処理や『memcop』等、

「memcop」は「memcpy」の間違いだと思うのですけど、
「memcpy」はコピー元とコピー先の領域が重なる場合の動作保証はされていません。
関数には、そういう制限のあるものもありますので、それらが影響している事もありえます。

お礼

2020/02/12 09:40

ありがとうございました。
参考にさせて頂きます。

質問者
2020/02/10 22:47
回答No.3

素人回答で申し訳ありません。
通常の場合1サイクルのデータ処理で正しい出力が得られても、入力数値のデータの変化が極端に大きい場合に1サイクルでデータ処理が済まずに、出力データの連続性が一時的に保てなくなるようなことが生じている可能性がありませんか?

お礼

2020/02/12 09:42

ありがとうございました。
参考にさせて頂きます。

質問者
2020/02/10 22:30
回答No.2

常識的にノイズによる誤動作とみるけど?

まぁ、ノイズに弱い回路か?
或いはノイズに弱いソフトとか?
あるけど
https://www.jp.tdk.com/tech-mag/emc2/002
https://www.jp.tdk.com/tech-mag/emc/009
現代ではノイズ対策はある程度確立されてるんで
誤動作の確率はかなり減ったけれど
ほんの20年くらい前まではかなり苦労したもんだ

定石的にオシロスコープでノイズを観測するんだけど
https://news.mynavi.jp/article/oscilloscope-7/
https://www.yrl.com/column/tm/solutions_for_noise_reduction_trend_1906.html
常時バババーってノイズが乗ってるんなら簡単だけれど
1時間に1発とか10時間に1発のノイズとかだと
そう簡単ではなかったりする
それなりに高価なオシロならそれなりの機能で捕らえる事は可能(百万円以上するよ)
https://jp.tek.com/oscilloscope/dpo70000sx
↓ヒストリサーチ機能
https://tmi.yokogawa.com/jp/solutions/products/oscilloscopes/digital-and-mixed-signal-oscilloscopes/dlm4000-mso-series/
1時間の膨大なデータの中から1発の異常データを探し出すのは大変な作業

お礼

2020/02/12 09:38

ありがとうございました。
参考にさせて頂きます。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。