第22回(最終回
    プログラマブル・コントローラ(2)

Ladder Builderの操作法
Ladder Builderを起動した後、ファイル(F)メニューの「開く」かツールボックスの「ファイルを開く」ボタンをクリックすると「ラダー図を開く」というタイトル名のウインドウが開くので、左のスクロールウインドウの中のラダー図ファイル名(拡張子はldr)のなかから、例えばsamp01.ldrをクリックしOKボタンを押す。
すると図5のエディタが開き、行頭に「ランプの順次ON」という行コメントのついたサンプル1のラダー図が開かれる。
次に、ツールバーの右上の「シミュレータ」ボタンをクリックすると「ラダーモニタウインドウ」が表示される。ラダーモニタにははじめのエディタと同じ内容が表示されているが違うウインドウなので混同しないように注意する必要がある。
次に「登録モニタ」ボタンをクリックすると「登録モニタウインドウ」が表示される。表示させたいデバイスはラダーモニタから登録モニタ(タイムチャート)にドラッグ&ドロップすればよい。表示の順もデバイス名をドラッグ&ドロップによって任意位置に移動できる。
「連続スキャン実行」ボタンを押した後、ラダーモニタのデバイスX000(SW0)をダブルクリックするか、登録モニタ中のデバイス0000の現在値の欄をダブルクリックすると1にセットされ、タイマのT000、T001、T002が順次作動し、ランプ出力である0500、0501、0502が順次点灯されて消えていく様子がタイムチャートとして表示される(図6
また、ウインドウメニュで「ニーモニックリスト」をクリックするとラダー図から翻訳変換されたニーモニックリストが表示される(図7)。
「連続ステップ実行」か「1ステップ実行」ボタンをクリックすると「ニーモニックリストウインドウ」が開き、現在実行中のニーモニック行が反転表示され、リスト上を1ステップずつ進行してゆく様が表示される。同時に、ラダーモニタ上ではデバイスの値やON/OFFの表示などが運転の速度に合わせて次々と色の変化(オンで緑色)で示されるとともに、現在の位置が運転の速度に合わせてスクロール表示される。
実行形式にはこのほかに「逆ステップ実行」がある。ステップ実行時に1スキャン実行させると、現在のステップから「END」、「ENDH」までプログラムを実行する。スキャン実行してしまうと、逆ステップ実行は効かなくなる。
以上で一通りの操作はできるはずであるが、さらに使い勝手を良くするには下記の各種の設定を操作すればよい。
ウインドウの表示:重ねて表示、並べて表示
スキャンタイムの設定:0-5000msecで設定可能
ウイェト時間の設定:0から10秒の間で設定可能。初期値は90ms
タイムチャートの目盛り数(ステップ数)の設定:1から511の間で設定可能

さらに詳細を知るには、ヘルプメニューで操作法と命令語の解説が読めるので特に紙の解説書やマニュアルは必要ない。

ファイルの新規作成
ladder BuilderにはSampleフォルダにあらかじめ14種のサンプルファイルが添付されているが、初心者にはレベルが高すぎて参考にならない。
そこで初歩的なラダー回路としてフリップフロップ回路を新規に作成することにする。
手順1
「新規作成」ボタンをクリックすると「機種変更」ダイヤログが開くのでKZ10を選んでOKを押す。
手順2
始めにウインドウの下部に配列された「A接点の入力」ボタンをクリックする。リレーのデバイス番号は0000から2915まで割り付けられているので0000とする。
手順3
次に「横接続線の入力」ボタンを8回繰り返しクリックした後、「OUT入力」ボタンをクリックして右の制御母線に0500を接続する。
注)LadderBuilder(KZ10)では入力リレー  0-0005
             出力リレー  500-503
             内部補助リレー 1000-1915
             タイマ 0-63
             カウンタ 0-63
のようにデバイス番号の範囲が定められている。表示モード設定で「XYMで表示」を
チェックした場合には 0000はX000、0500はY050のように表示される。
手順4
続いて「B接点のOR入力」ボタンをクリックし、デバイス番号を501(500ではなく)と入力する。

手順5
同様に、3、4行目にもう一つのラダー回路を入力する。
手順6
カーソルを5行目に移動し、編集メニュから「シンボル入力」ー「シンボル選択入力」と進み(ショートカットはTabキー)、開いた「命令語の入力」ウインドウ(図8)の命令語欄からENDを選んでOKボタンを押す。続いてENDHを選んでOKボタンを押す。
これでプログラムの基本的な入力は完了したが、ラダー図やニーモニックリストを読みやすくするために以下の操作をする。
手順7
1行目をコメント行にしたい場合は、編集メニューで「空行挿入」をクリックして空行を作った後、「行コメントの編集」ボタンをクリックすると行コメント入力ウインドウが開くので「FlipFlop」と入力する。
手順8
各デバイスにつけるラベルは「コメント・ラベルの編集」ウインドウを開き、リレー0000が選択された状態でラベル名欄にX0、コメント1欄にSB1、コメント2欄にSETと入力し書込みボタンを押す。コメントはコメント3まで入力でき、どのコメントを表示させるかは表示メニュの表示モードの設定で選択できる。

この例では使わなかったが、ブロックのOR結合をする場合に、タテ接続線を入力する場合にエディタを通常モードから「接続線編集モード」にする必要がある。マウスの右ボタンをクリックするとメニュが開くので「接続線編集」をチェックするとカーソルが四角からプラスに変わるのでプラスのカーソルを接続したい線上に移動させて「タテ接続線の入力」ボタンをクリックすればよい。通常モードに戻すにはマウスの右ボタンをクリックして開かれたメニュで「接続線編集」のチェックを外せばよい。
完成したラダー図は図9のようになる。ここでひとまずファイルをflipflopなどの別名で保存する。
「シミュレータ」ボタンを押すとニーモニックへの変換作業が行われ、エラーがなければラダーモニタのウインドウが開く。
ファイルメニューで登録モニタを開き、観測対象デバイスを指定する所からは、前述のsamp01.ldrの操作と変わらない。

応用回路
ラダー図の新規作成要領を学んだところで、次にシーケンス回路の基本的な応用回路のいくつかを作成し、Ladder Builderのシミュレータによって動作を確認してみよう。
1.自己保持回路
図10(a)の回路で、押しボタンスイッチSB0にリレーのa接点Y0が並列に接続されていると、押しボタンを押してリレーコイルに電流が流れると、リレーの接点Y0が閉じて、押しボタンを離した後もリレーコイルには電流が流れ続け、出力Y0は保持される。これが自己保持回路である。
出力がオンになり一度Y0が自己保持されてしまうとPCの動作を停止させたり電源を切らないかぎりY0をオフにすることはできない。
そこで、リセットするために図10(b)のようにSB1を追加するとSB1を押したときY0がリセットされてオフになる。SB0とSB1を同時に押すとY0はオンにならない。つまり、リセットが優先されていてSB1のセットが無効になっているためである。このような回路をリセット優先の自己保持回路と呼ぶ。
SB1の挿入位置を図10(c)のようにすると、セット優先自己保持回路となる。
押しボタンの代りに赤外線センサなどを使えば侵入者警報装置などに応用できる。

2.インターロック回路(先行優先回路)
いくつかの信号のうち先に入った入力信号で動作するように構成したものをインターロック回路という。簡単な例で3入力の場合を考える。図11のように3組のリセット優先自己保持回路を用意し、お互いに相手の出力でリセットさせるようにすればよい。
テレビのクイズ番組などで、出題に対して最も早く押しボタンを押した回答者にだけランプが点くようにする早押しクイズには、この回路が応用できる。リセットは自分以外の出力を直列に接続しておけばよい。例えば、X1が誰よりも早く押されたときにはY1はオンになるが、他の2人の誰かが早く押した場合にはX1を押してもセットすることができない。

3.タイマ回路
タイマにはCR時定数を利用したハードタイマとCPUの演算機能によるソフトタイマがあり、PLCで扱うタイマはソフトタイマである。タイマの特性には入力信号がオンした後、設定した時間(時限といい、時限になったことをタイムアップという)に出力がオンになるオンディレイタイマと入力信号がオフになってから一定の時間後に出力がオフになるオフディレイタイマがある。
オンディレイタイマのTMR命令は0.1秒単位の設定が行われる。オペランド1にはデバイス指定として000から063まで、第2オペランドには2バイト即値(10進)として、例えば2秒ならば00020の設定数値を入力する。
オフディレイタイマはオンディレイタイマを使って図12のように構成すれば実現できるので基本命令としては特にない。
タイマを応用した簡単な応用例として、コインを検出してタイマをスタートさせ、3分後にオフになるように動作させるとおなじみのゲームマシンとなる。来客報知器なども同様の応用例である。
また、フリッカ(点滅)回路(図13)もタイマの応用回路で表示ランプの点滅などに利用される。どちらも 1秒オン、2秒オフの点滅を繰り返すが、図13(a)は入力がオンしてから2秒後に出力がオンになるのに対し、図13(b)では、入力がオンすると同時に出力がオンし、以後点滅を繰り返す。
交差点の交通信号機は、タイマを利用して図14(a)のようなラダー回路で実現できる。青、黄、赤の信号ランプがそれぞれ20秒、5秒、10秒で点滅を繰り返す(図14(b)。

4.オルタネート回路
 微分出力命令DIFUとDIFDを用いた応用例としてオールタネイト回路(図15)がある。この回路は押しボタンを押すたびに出力状態が反転するトグル動作をする。

5.カウンタ回路
複数個のオールタネイト回路と桁上げ信号発生回路を組み合わせて構成した4ビットのカウンタ回路を図16(a)図16(b)に示す。実際のPLC応用では独立したカウンタ命令が用意されているので、このようなカウンタ回路を作ることはないが、オールタネイト回路を発展させた応用例として取り上げた。

6.総合的な応用例
(1)ファンヒータ制御
暖房器具ファンヒータの制御では、押しボタンを押すとヒータに電源が供給され、2分後にファンが回転を始める。もう一度押しボタンを押すと直ちにヒータ電源は切れるが、ファンは1分たった後で切れる。
このような回路は、オールタネイト回路、オンディレイタイマ、内部記憶メモリを組み合わせて実現できる(図17(a)図17(b))。

(2)洗濯機のパルセータの回転制御
洗濯機の洗いモード(003)では、洗濯槽が満水(センサー002がオン)になっている時に、押しボタン(001)を押すと5分間(T001)だけ本洗いのためにモータ(0500)が起動して、3秒(T002)の正転(0501)と同じく3秒(T003)の逆転(0502)を繰り返す(図18(a)図18(b))。
                                (おわり)
 
   
参考資料
1.通信産業省認可通信教育通信研修講座用教材「電気制御(上巻:シーケンス制御、下巻:PCによるシーケンス制御)」中小企業大学校東京校、平成9年9月
2.吉本久泰「やさしいプログラマブルコントローラ制御」、東京電機大学出版局
  1989年11月

図面
図1 接点の呼称
図2 PLCの全体構成
図3 基本要素の表現法比較 
図4 LD命令の使い方
図5 ラダー図エディタ
図6 登録モニタ(タイムチャート)
図7 ニーモニックリスト
図8 シンボル選択入力ウインドウ
図9 完成ラダー図(FlipFlopの例)
図10 自己保持回路
図11 インターロック回路
図12 タイマ回路 
図13 フリッカ回路 
図14(a) 交通信号機 (a)ラダー図 
図14(b) 交通信号機 (b)タイムチャート
図15 オールタネイト回路 
図16(a) 4ビットカウンタ (a)ラダー図 
図16(b) 4ビットカウンタ (b)タイムチャート
図17(a) ファンヒータ制御 (a)ラダー図
図17(b) ファンヒータ制御 (b)タイムチャート
図18(a) 洗濯機パルセータの回転制御 (a)ラダー図
図18(b) 洗濯機パルセータの回転制御 (b)タイムチャート

閉講のご挨拶と若干のPR
長期間にわたり、この連載講座をご愛読下さりありがとうございました。
当初は10回程度の連載と思って始めたのですが、世間でインターネットが喧伝されるようになって、筆者自身の学習テーマが同時進行的に拡大し、20回を越えるまでになってしまいました。
マッキントッシュにもウインドウズマシンにも共通に扱えるテーマとなるよう心掛けたつもりですが、いずれかの機種に限定される記事もいくつかあり、混乱を招いた点も多かったかもしれません。
これらの連載テーマに対して、筆者自身が必ずしも習熟した教師としての立場ではなく、一歩先を行く初心者としての学習体験の中から、学習の要点をいわばサブノートのような形でまとめて公開させてもらいました。
初心者の方が難解なあまり挫折したりしないで、最初のバリアを取り除く突破口を切り開くことができたならば、連載講座の役割は十分果たせたのではないかと考えておりますが、いかがでしたでしょうか?
この連載記事の「デジタル回路シミュレーション」の部分を中心に再編集したものが「回路シミュレータを使ってみよう 早わかりデジタル回路入門」として日刊工業新聞社より刊行されました。パソコンを使ってデジタル回路をゲーム感覚で楽しく学習できる入門者用の学習テキストをめざしたもので、独習書として、また教育訓練用のテキストとしてご活用いただくならば大きな効果が期待できるものと確信しております。
なお、筆者の開設しているホームページ(http://member.nifty.ne.jp/sato032/)では、今後とも新規情報の公開と本連載記事のアフターフォローに努めたいと思いますので、ぜひご利用下さい。