- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:三菱Qシリーズ)
三菱QシリーズでCPUエラーが発生し停止する問題の対処方法とは
このQ&Aのポイント
- 三菱のQ02にデバイスネットカードQJDN91を装着して通信を行い設備を動かしていますが、頻度は低いもののCPUエラーが発生しています。
- エラーコード4140、エラーメッセージOPERATION ERRORが表示され、LED状態(RUN)が点灯し、LED状態(ERROR)が点滅しています。CPU動作状態は停止しています。
- エラーの原因は特殊な数での演算が行われていることであり、MELSOFT製品で読み出したエラーステップを修正することで対処できます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
IEEE 754 http://ja.wikipedia.org/wiki/IEEE_754 マイナスゼロ http://ja.wikipedia.org/wiki/%E2%88%920 浮動小数点のマイナスゼロはHEXで表すとH8000 0000 なので -----[D<> H80000000 D0]-------------(M0)マイナスゼロでない と、言うフラグを作って浮動小数点演算条件に加えれば良いと思う 但しマイナスゼロ以外にも使えないデータは存在する (ゼロ付近の極小数値等) それらもHEXデータとして範囲比較すればよいでしょう http://wwwf2.mitsubishielectric.co.jp/melfansweb/plcq/index.html マニュアルダウンロード MELSEC-Q/L プログラミングマニュアル(共通命令編)SH-080804 Ver. L 89/816ページ 3.2.4 実数データの場合 Point 「4. 浮動小数点データで,-0( 浮動小数点型実数の最上位ビットのみ1 のとき) は指定しないでください。」 と明記してあります ここの但し書きに 「下記のCPU ユニットは,-0 が指定されるとCPU ユニット内部で0 に変換して,浮動小数点演算を行うため,演算エ ラーになりません。」 との記載もあります これにはQ02Hも含まれます あっ Hの憑かないタイプかぁ ケチルとハマルの典型ですね
お礼
回答ありがとうございました。 ただ、HEXデータで比較して、-0の時にラダーを走らせないようにした場合でも、浮動小数点に変換する所で、エラーになってしまわないか検証してみます。 |/|-----(EMOV D0 D100) ←ここでエラーが起きないか。 M0 ジャンプか何かでスキャンから除外する必要があるかもですね。 ありがとうございました。