- 締切済み
MELSEC QシリーズのOUTコイルについて
Q03UDECPUを使用しているのですが、常時ON(SM400)でOUTコイル(L0)をONしています。 あるとき動作に異常を生じ、モニタを行ったところ、L0のOUTコイルがOFFしていました。 強制的にONさせてみようと試みたのですが、他でL0を使用しているわけでもないのにONさせることはできませんでした。 CPUは正常にRUNしており、ERRORは発生しておらず、原因を特定できません。 何度かプログラムを書き込み直したらONしたのですが・・・。 今後このようなことが起こらないようにしたいので、ご教示お願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- lumiheart
- ベストアンサー率47% (1156/2447)
かなりの確率でインデックスレジスタでしょうね http://www.mitsubishielectric.co.jp/fa/download/search.do?mode=manual&kisyu=/plcq Q/Lプログラミングマニュアル(共通命令編)sh080804W.pdf 115ページ 「インデックス修飾により,デバイスの境界を超えるアクセス( 領域A の範囲)」 「各デバイスの割付けの順番は,下記に示します。」 例えば ----|SM400|-------------(L0) ----|SM401|-------------(M8191 Z0) でZ0の内容が「1」であるならば、 M8191の次のデバイスのL0をOFFさせます こんな判り易い例でなく M6821Z0とかだと検索するのは不可能に近かったりする なのでインデックスレジスタを使う場合は絶対にデバイス範囲を超えないように プログラムする必要が有ります -----[<= K1234 Z0 ]-----------[MOV K0 Z0] とかの範囲設定は不可欠です これをサボると本件の如くとなる 恐らく本件ではZの値が固定になってしまっていたので 比較的簡単にL0がOFFしない状況を現認できたけれど 多くの場合、Z0はINCしてて条件が揃うのは一瞬だけなので 現認する事自体が奇跡的だったりする