
PLC 演算エラー
PLCとタッチパネルのtest機を使って電卓作成を試した。

今回分かったことは電卓には膨大なプログラムが組まれている事だ。
ラダーで作成するのはなかなか一筋縄ではいかない。
まずはタッチパネルで一般的な電卓の形を作成し、ボタン一つひとつにデバイスを割り付ける。
ラダーに関しては四則演算命令を使用して整数一桁の計算までは比較的容易に組むことが出来た。小数点を含む計算になってくるとかなり難易度が上がる。しかしこの時点で引っかかることが出てきた。
それは割り算の時。何かの数字を0で割ったり答えに小数点が出てくると急にラダーが固まって正常にRUNしていない。最初はバグったかと思っていたが、PLC本体を見るとERRORが出ている。演算エラーだった。PLCは小数点以下の計算が出来ない。小数点を表すにはいろいろな細工が必要なのだ。
そのエラーを確かめる方法は、
Works2の上部欄にある”診断”からPC診断を選択。

このようにリアルタイムで出ているエラー等を確認できる。
表示されている”4100 オペレーションエラー”これが演算エラーで発報される。では解除どうするのか。画像右側のエラー解除押下だけでは解除されない。
まずこの演算エラーが出たとしてもRUNさせ続ける方法がある。

Works2画面右側 PCパラメータからPCRAS設定を選択する。


演算エラーを続行に切り替えることでERRORは出るがRUNさ続けることが出来る。この状態にしておけば、上記PC診断画面のエラー解除のみで解除可能となる。加えてERRORの解除方法は、プログラム内でも可能だ。

これは独自で書いたERROR解除のラダーだ。
具体的にはエラーコードがSD0に格納される。それをSD50に代入し、SM50をOFF-ONで解除となる。特殊デバイスに関しては以前投稿した特殊リレー・特殊デバイスの記事でコメント確認の方法を書いている。
このラダーではM888を強制ON-OFFさせることでエラーは解除となる。
SD0にはリアルタイムで発報されているエラーコード、SD50はエラー履歴となる。