プログラムをひと通り作成し終えたとしても、いきなりM/Cを動かしてみるというのは無謀なことです。
必ず、入念なプログラムのデバッグが必要です。デバッグの方法としては下記の2通りの方法があります。
・机上のデバッグ(シミュレーター装置を使わないず、回路の動作を図面上のみでおいかける)
・シミュレーター装置を利用したデバッグ
などがあります。
上記の机上のデバッグは、あくまでプログラムが正しいかどうかをもう一度コーディングレベルで確認するということですので単純なミスや大きな勘違いなどを見つけてこれを修正するということにとどまってしまいます。従って、プログラム規模がかなり小さい場合には効果があっても中規模や大規模の場合には向いていません。
一方、シミュレーター装置を利用したデバッグでは、そのシミュレータ装置がより実機に近ければ近いほど正確なプログラムのデバッグが可能となります。本記事では、筆者がプログラム作成時に特によく採用したシミュレータ装置を例にとって説明しています。
PLCのラダー回路プログラムの作成に必要なデバッグ
今回は、マシンのPLCラダー回路プログラムの設計を電磁弁の動作のみの例で説明していますが、実際、モーターの動作やその他の様々なアクチュエータが使用されており、それらの専用のコントローラーを使用したマシンが一般的です。
机上デバッグ
作成したPLCラダー回路プログラムのラダー回路やコードをタイムチャート図の順序に従って、机上(まさに机の椅子に座った状態)において、紙と頭の中で動きを想像しながら、まさにもう一度回路を作成するかのように正しいかどうかの確認を行います。
この時のラダー回路は、プログラミングソフトのPC画面だったり、印刷された複数ページ(数十~数百枚)の紙だったりします。
I/O数(入出力数)が多い場合は、回路のボリュウムが大きくなり複雑になりますので頭の中だけで回路を追いかけるのはむつかしくなります
シミュレーター装置を利用したデバッグ
下記に、シミュレータ装置の全体図を示します。
I/O(入出力)は、下図1のシミュレータBOX(下図2のシミュレータBOX外観図)を使い、センサーや押し釦などの入力のスナップスイッチを操作、電磁弁他、アクチュエータへのON動作出力は、LED表示の点灯で確認を行います。
通信関連のやり取りがある場合、実アクチュエーター単体(サーボアンプやモーター)を接続したり、代わりにパソコンで通信アクチュエータープログラムを作成して確認を行います。
ここでは、説明が複雑になるので、アクチュエータは電磁弁のみを想定して説明をしています。
センサーや押し釦などの入力がONの時はスナップスイッチを手動でONさせます。そしてその結果、電磁弁他、アクチュエータへのON動作出力はLEDの点灯や消灯を確認しながらデバッグを行っていきます。
自動運転は、図3の自動運転動作タイムチャートに従い手動にてスナップスイッチを操作し、LEDの点灯と消灯でアクチュエーターの出力の確認を行っていきます。
【図1】シミュレータ装置 構成図
下図は、上シミュレータ装置のシミュレータBOXの図の詳細図(スイッチやLEDの並び)です。
【図2】シミュレータBOX外観図
【自動運転動作タイムチャート】
【図3】自動運転動作タイムチャート
ラダープログラムの具体的なデバッグ方法
デバッグの操作は下記の項目について行います。
1.手動操作釦の確認
各手動操作釦を押し、対応するアクチュエータの出力をLEDで確認する
対象のアクチュエータ動作の結果のセンサーの動作端入力をスナップスイッチにて入力し、対応するアクチュエータの出力がOFFすることをLEDで確認する
2.自動運転動作の確認
自動運転起動釦等で起動される一連の自動運転動作を各アクチュエーターのON、OFF出力をLEDで確認しながら、対象のアクチュエーター動作の結果のセンサーの動作端入力をスナップスイッチにて入力し、次の動作を確認する
手動操作 押釦の確認
手動M/C(マシン)はもちろん、全自動運転のM/Cにおいても作業中の操作介入に対して各アクチューエータを操作できる操作盤が一般的に必要となります。また、M/Cメンテナンス時等にも必要です。
図2のシミュレータBOXのSW[5]~[20]をON-OFFして、対応するLED[3]~[18](アクチュエータの出力)の表示を確認する
この時、メカ的に干渉するアクチュエータが動作中、もしくは動作端にある時のアクチュエータ動作制限についての出力の確認を行う
※メカ動作におけるインターロックの確認
例えば、Aのアクチュエーターが原位置(戻り端)でない場合にBのアクチュエータは動作してはいけない場合など
この確認は、全アクチュエータに対して動作可否のインターロック表を作成し、行うのが確実です
以下、手動操作 押釦の動作確認はシミュレータスイッチBOXのSWの操作と対応するLEDの表示を確認、下記の手順で行う
操作手順1
チャック閉SW5をON → チャック閉LED3点灯(ON)
※(ONは上に倒して戻す、モーメンタリー操作)
チャック閉SW5をONした時にチャック閉LED3(PLCの出力)が点灯(ON)することを確認する
操作手順2
チャック閉端SW21をON → チャック閉LED3消灯(OFF)
※実際にメカが動作し動作端に移動した時にチャック閉LED3(PLCの出力)が消灯(OFF)することを確認する
操作手順3
チャック開SW6をON → チャック開LED4点灯(ON)
※(上に倒して戻す、モーメンタリー操作)
チャック閉SW6をONした時にチャック閉LED4(PLCの出力)が点灯(ON)することを確認する
操作手順4
チャック開端SW22をON → チャック開LED4消灯(OFF)
※実際にメカが動作し動作端に移動した時にチャック開LED4(PLCの出力)が消灯OFFすることを確認する
⇩
⇩
操作手順5~26
プッシャー前進、後退~ステージ上昇、下降
(同様操作に付き、説明省略)
⇩
⇩
操作手順27
イジェクター出SW19をON → イジェクターLED17点灯(ON)
※(上に倒して戻す、モーメンタリー操作)
イジェクター出SW19をONした時にイジェクターLED17(PLCの出力)が点灯(ON)することを確認する
操作手順28
イジェクター出端SW35をON → イジェクター出LED17消灯(OFF)
※実際にメカが動作し動作端に移動した時にイジェクター出LED17(PLCの出力)が消灯(OFF)することを確認する
操作手順29
イジェクター戻SW19をON → イジェクターLED20点灯(ON)
※(上に倒して戻す、モーメンタリー操作)
イジェクター戻SW19をONした時にイジェクターLED20(PLCの出力)が点灯(ON)することを確認する
操作手順30
イジェクター戻端SW36をON(上に倒す)→ イジェクター戻LED20消灯(OFF)
※実際にメカが動作し動作端に移動した時にイジェクター戻LED20(PLCの出力)が(OFF)することを確認する
自動運転 動作の確認
自動運転起動可能な条件で、自動起動釦(シミュレータスイッチBOXのSW2)を押して、自動起動がかかる(開始される)かどうかを確認する。 → 自動運転中表示LED1点灯(ON)
以後、自動運転の動作確認では、動作タイムチャートに従って各アクチュエータの出力のONーOFF表示から各アクチュエータの動作端リミットセンサーSW21~36を操作ONーOFFをし、自動運転がタイムチャート通り順次動作することを確認する。
操作手順1
自動運転起動するための各アクチュエータの位置を確認する
チャック開端LS ON(SW6)、プッシャー戻り端LS ON(SW8)、スライドバー後退端LS ON(SW10)、ストッパー戻り端LS ON(SW12)、台車後退端LS ON(SW14)、アーム下降端LS ON(SW16)、ステージ下降端LS ON(SW18)、イジェクター戻端LS ON(SW20)
上記位置を原位置とし、上位置でないアクチュエータは手動操作で上記位置にセットする。
また、この時すべてのSOL出力(LED3~18)がOFF(消灯)であることを確認する。
操作手順2
自動起動SW2 ON → 自動運転表示LED1点灯(ON)
自動運転起動スタートを確認する
操作手順3(図3 タイムチャート[1])
チャック閉SOL1A ON(図2シミュレータBox LED3点灯)を確認
操作手順4(図3 タイムチャート[1])
チャック閉端LS (図2シミュレータBox SW5)を手動操作で ON
操作手順5(図3 タイムチャート[2])
ストッパー出SOL4A ON(図2シミュレータBox LED9点灯)を確認
操作手順6(図3 タイムチャート[2])
プッシャー出SOL2A ON(図2シミュレータBox LED5点灯)、スライドバー前進SOL3A ON(図2シミュレータBox LED7点灯)を確認
⇩
⇩
操作手順7~29 (図3 タイムチャート[2]~[14])
タイマーT001後、台車前進SOL5A ON
(同様操作に付き、説明省略)
⇩
⇩
操作手順30(図3 タイムチャート[15])
ステージ下降SOL7B ON(図2シミュレータBox LED16点灯)を確認
操作手順31(図3 タイムチャート[15])
ステージ下降端LS(図2シミュレータBox SW34) ON
ステージ下降SOL OFF(図2シミュレータBox LED16点灯)を確認
操作手順32(図3 タイムチャート[16])
イジェクター戻SOL18B ON(図2シミュレータBox LED18点灯)を確認
操作手順33(図3 タイムチャート[16])
自動運転表示(図2シミュレータBox LED1)消灯(OFF)
自動運転1サイクル終了を確認