実機がラダー図で設計したとおりに動かない場合,実機の入出力状態をラダー図上に表示して,意図した通りの動作になっているかをチェックすることができます。これを提供する機能を実機デバッグ機能と呼んでいます。次の簡単な例とともに,これを紹介します。
今回のデバッグ対象
今回,動作を確認したいのは,次のラダー図とします。
ピンアサインは,次のようになっており,
この実機であるPLC (Arduino)には,スイッチボードと呼ばれる,外付けのスイッチと出力(LED)がついているボードが接続してあって,
ラダー図上の名前 | 対応するPLC (Arduino)ポート | PLCの接続先; スイッチボード |
---|---|---|
X0 | 3 | タクトスイッチ(押すと導通[ON]) |
X1 | 4 | タクトスイッチ(押すと導通[ON]) |
Y0 | 9 | LED |
となっているとします。実機の様子は,次の通りです。この時,実機のスイッチや出力の状態を上のラダー図に反映してみます。
ラダー図を実機にアップロードする
PLC (Arduino)をPCに接続し,ツールバーの[Arduinoの接続先]をクリックして,先ほどのPLC (Arduino)の場所を設定します。次に,ELFIのツールバーの[DBG]ボタンを押します。
つまり,PLC (Arduino) にラダー図を転送するのと同じ要領で違いは,ツールバーの[Arduinoへラダー図を転送]をクリックする代わりに,[DBG]ボタンを押すだけです。
[DBG]ボタンが押されると,PLC (Arduino)へ自動的にラダー図の転送が始まり,デバッグが開始されます。次のように,デバッグ中は,ステータスバーの右下に[デバッグ中…]が表示され,[DBG]ボタンが黄色くなります。
X1が赤くなっていますが,これは,X1が導通状態(スイッチON)であることを表しています。この時,実機のタクトスイッチは開放(OFF; 何も操作していません)ですが,b接点なので,開放の「否定」となり導通(ON)状態となります。
デバッグモードでは,部品が赤くなると,その部品が導通(ON)状態であることを表します。赤くない場合は,開放(OFF; 非導通)を表します。ワイヤの色は,導通でも開放でも変わりません。
実機を操作してみる
実機のタクトスイッチを操作してみましょう。この例で接続している実機のスイッチボードは,タクトスイッチは押すと導通[ON],押さなければ,開放[OFF]です。X0のスイッチを導通(ON)とし,X1のスイッチを開放(OFF)とすれば,X0 -> X1 -> Y0と電気の通り道ができ,Y0に導通(ON)と出力されるはずです。つまり,X0のタクトスイッチを押すだけで,Y0が導通(ON)になります。
次は,X0のタクトスイッチだけを押したときの,ELFIの画面です。期待通り,X0 -> X1 -> Y0と電気の通り道ができ,Y0に導通(ON)となっていることが,それぞれの部品が赤くなっていることから,わかります。
この時,実機のほうでは,Y0に接続されたLEDは点灯しています。
次に,X0を押しつつ,X1を押してみましょう。この場合は,X0は導通(ON),X1が結果的に開放になるので,Y0は導通にならないはずです。これを実際にやってみると,
となって,X0が赤くなっていることから導通していることがわかりますが,X1, Y0は赤くなっていないため,開放状態であることがわかります。もちろん,この時,実機のY0に接続されたLEDは,消灯しています。
デバッグを終了する
デバッグを終了するには,もう一度,[DBG]ボタンを押します。[DBG]ボタンが黄色でなくなり,ステータスバーから[デバッグ中…]の文字が消えたら,デバッグが終了しています。
デバッグ機能の使用上の注意
デバッグ機能は,PLC (Arduino)とPCが,ある程度,連続的に通信しています。PLC (Arduino)はマイコンであり,PCと比べて処理能力が高いわけではないため,ラダー図の規模が大きくなったり,タイマーをはじめとする比較的重たい部品を多用すると,通信やPLC本来の動きが間に合わなくなり,正しくデバッグできない・動作が遅れるなどの問題が発生する場合があります。
デバッグ終了後も,ラダー図通りにPLC (Arduino)は動作しますが,本番用には,ツールバーの[Arduinoへラダー図を転送]からPLC (Arduino)へラダー図を転送してください。PLC (Arduino)とPC間の通信がない分,最大限の性能が期待できます。