プログラムのデバッグ方法

FA基礎

ラダープログラムのデバッグ時によく使う手法について説明します。

昔は、スキャンタイムも遅かったので、この信号オンしたかどうかモニタ画面とにらめっこしてましたが、最近のPLCはスキャンタイムが早い!ので、確認できません。

これから紹介する方法でもプログラムのデバッグができます。ちょっとしたアイディアで有効に使ってみてください。

SET命令の場合

自己保持回路や、SETRST回路の場合は、使っていないデバイスをSETするこことで簡単に信号がオンしたかどうか判断できます。

INCPでデバイスに格納

毎回SETしたデバイスを強制リセットするのも面倒ですね。また、何回も動作する場合もあるので、INCPで回数を計測します。

INCはカウントアップでP(パルス化)することで、正確に計測できます。

BMOVでデバイス転送して、モニタ表示

複数のデバイス監視で、その状態をモニタしたい場合には、まとめて動作変化を記録してタッチパネルで見れるようにすると便利です。

時間も一緒に記録するとよくわかりやすいのでやってみましょう。

DATERDで時刻情報を読出しして、デバイスの変化があったときに記録します。

シミュレータで確認するために、M0をタッチパネルでセットして、1秒おきにM1以降を加算していきます。

GTシミュレータでロギングモニタ

サンプリングトレース機能でデバッグ

GXDevelpoerとWORKS2ではサンプリングトレース機能が使えます。

このブログで紹介します

まとめ

デバッグは、バグ修正の助けになります。

タッチパネルで信号の状態を記録することでプログラマー以外の人にも状況を説明するとができるので非常に便利だと思います。異常発生時画面をとってもらうとか、GOTであれば、その時の画面保存もできます。

ちょっとしたことですが、これを知っておくとデバッグが楽になります。

コメント

タイトルとURLをコピーしました