※ ChatGPTを利用し、要約された質問です(原文:三菱Qシリーズ)
三菱QシリーズでCPUエラーが発生し停止する問題の対処方法とは
このQ&Aのポイント
三菱のQ02にデバイスネットカードQJDN91を装着して通信を行い設備を動かしていますが、頻度は低いもののCPUエラーが発生しています。
エラーコード4140、エラーメッセージOPERATION ERRORが表示され、LED状態(RUN)が点灯し、LED状態(ERROR)が点滅しています。CPU動作状態は停止しています。
エラーの原因は特殊な数での演算が行われていることであり、MELSOFT製品で読み出したエラーステップを修正することで対処できます。
三菱のQ02にデバイスネットカードQJDN91を装着して通信を行い設備を動かしております。
1日に1回でるかどうか位の頻度なのですが、CPUエラーが起こります。
エラーの内容ですが、
エラーコード 4140
エラーメッセージ OPERATION ERROR
LED状態(RUN) 点灯
LED状態(ERROR) 点滅
CPU動作状態 停止※エラー発生時のCPUの動作状態をパラメータで設定可能です。
◆異常内容と原因
入力データが特殊な数(“-0”,非正規化数,非数,±∞)で演算を行った。
◆処置方法
エラーの共通情報をMELSOFT製品で読み出し,その数値(プログラムエラー箇所)に対応したエラーステップをチェックし,修正する。
となっております。
まず、ヘルプに「※エラー発生時のCPUの動作状態をパラメータで設定可能です。」
とあるのですが、このエラー時にCPUを続行させたいのですが、できるのでしょうか?
PCパラメータから「エラー時の運転モード」を全て「続行」にしているにも関わらず、停止してしまいます。
次に、エラーを起こしているデバイスですが、特定できるのですが「-0」という値はどうしても入ってきてしまいます。スレーブ側での対応は不可の場合、マスタ(PLC)側で回避する方法はあるのでしょうか?データは浮動小数点実数で取り込んでおります。
比較命令部分でエラーを起こしている為、入力と同時にCPUエラーで停止になります。
演算結果でのエラーであればプログラムで対処しようがあるのですが・・・
対処方法があれば、教えてください。
お礼
回答ありがとうございました。 ただ、HEXデータで比較して、-0の時にラダーを走らせないようにした場合でも、浮動小数点に変換する所で、エラーになってしまわないか検証してみます。 |/|-----(EMOV D0 D100) ←ここでエラーが起きないか。 M0 ジャンプか何かでスキャンから除外する必要があるかもですね。 ありがとうございました。