• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:三菱Qシリーズ)

三菱QシリーズでCPUエラーが発生し停止する問題の対処方法とは

このQ&Aのポイント
  • 三菱のQ02にデバイスネットカードQJDN91を装着して通信を行い設備を動かしていますが、頻度は低いもののCPUエラーが発生しています。
  • エラーコード4140、エラーメッセージOPERATION ERRORが表示され、LED状態(RUN)が点灯し、LED状態(ERROR)が点滅しています。CPU動作状態は停止しています。
  • エラーの原因は特殊な数での演算が行われていることであり、MELSOFT製品で読み出したエラーステップを修正することで対処できます。

質問者が選んだベストアンサー

  • ベストアンサー
  • lumiheart
  • ベストアンサー率47% (1141/2405)
回答No.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の憑かないタイプかぁ ケチルとハマルの典型ですね

kuma33kuma
質問者

お礼

回答ありがとうございました。 ただ、HEXデータで比較して、-0の時にラダーを走らせないようにした場合でも、浮動小数点に変換する所で、エラーになってしまわないか検証してみます。 |/|-----(EMOV D0 D100) ←ここでエラーが起きないか。 M0 ジャンプか何かでスキャンから除外する必要があるかもですね。 ありがとうございました。

関連するQ&A