プログラム・ロジック・コントローラー(PLC)を使いこなせると、転職や就職に極めて有利です。なぜならば、PLCは現在では工場、流通センター、自動倉庫、自動販売機、鉄道、船舶など、家電製品や航空機などを除く場合のコントローラー(制御装置)として、一般的に幅広く使われているのと、使える人材が極端に少ないからです。



PLCを使うのに必要な知識
PLCを使えるようになるためには、次のような知識が必要です。
- ラダー回路(リレーなどによるシーケンス回路)
- 電気回路と電気配線
- パソコンの基本的な操作
- 制御盤の組立
- センサーの知識
- アクチュエータ(モーター、ソレノイド、ソレノイドバルブなど)


PLCを使うのに必要なもの
- PLC本体
- ラダープログラミング用ソフトウェア
- Windows11パソコン
- 接続ケーブル
- センサーやアクチュエータなどの入出力機器



PLCトレーニングキットがあると最良
実際にPLCプログラムを試すには、センサーやアクチュエータなどの入出力機器が必要になります。ただし、初心者の段階でいきなり高額なセンサーや大パワーのアクチュエータを動かすと、お金が大変なのと、危険を伴うことになります。

最初はスイッチとランプだけの回路で演習する
そこで、最初はいくつかのスイッチとランプだけで演習します。そうすればプログラムを間違えても高価なアクチュエータを壊すこともなく、危険もありません。

PLCプログラムの基本形
PLCに限らず、リレーなどのデジタル回路では、AND, OR, NOT回路の3要素で、理論的にはすべての論理回路(デジタル回路)を実現できます。
論理的にはというのは、実現できるけど、膨大な数のリレーが必要になるという意味です。

ですが、PLCでは古いものでも何千個、新しいものだと数万個のリレーの代わりになるプログラム(ラダー)を作ることができます。


シーケンス回路ではタイマーが必要になる
スーパーコンピューターなどの計算を素早く行うシステムでは、AND, OR, NOTの3要素ですべての論理演習が可能です。3要素を組み合わせれば算術演算もできます。かつてのリレー式計算機では、数千個のリレーを使って乗算や平方根などの計算をしていました。
ところが、シーケンス制御では、コンピュータでは処理が早すぎて困ります。エレベーターのボタンを押した瞬間にドアが閉まり、最大加速度でカゴが移動し、最大ブレーキで止まった瞬間にドアが開く!
新交通システムでドアが閉まった途端に最大加速度で発進して乗客を全員転倒させ、駅に着いたら最大ブレーキで停車して乗客を前方に集める!
信号機が目にも止まらない速さで赤→青→黄の点滅を繰り返すと、大事故が起きます。
想像しただけでも恐ろしいですよね?そこで、シーケンス制御では、ボタンを押して数秒してから、あるいは警告音を一定時間鳴らしたあとで動作を開始するような「遅延タイマー」が必要になります。

逆にスーパーコンピューターでは遅延タイマーは必要ありません。素早く計算をするためのコンピュータがスーパーコンピューターであり、遅延タイマーを組み込んで、明日の天気予報が明後日に結果が出ても意味がないわけです。
PLCでは数百個のタイマーが使える
PLCでは百個から200個程度のタイマーが使えます。もちろん、これは0.1秒単位などの低速タイマーで、1ms単位で扱える高速タイマーは10個ほどですが、小規模な装置の場合は、これで足ります。


「自己保持回路」は、状態を記憶するのに使われます。たとえば「運転ボタン」を押したらモータが動き、「停車ボタン」を押したらモータが止まるとか、正転して「右限界」に達したら記憶して逆転に転じ、「左限界」に達したら反転して「反復動作」を繰り返すなどです。


例えば単線の列車の信号機では、上りの列車が発車したら、下りの列車には赤信号を「現示」して列車を止めなければ正面衝突してしまいます。


そうした先取り優先のための回路が「インターロック回路」です。たとえば早押しクイズのように最初にボタンを押した人だけが回転灯が点灯したり、帽子の上の〇札が上がって回答権を得るみたいな回路です。
実際のラダー回路では、先に述べたAND, OR, NOT、いいかたを変えれば「直列接続」、「並列接続」、「b接点」と、「遅延タイマー」と、それらの組み合わせの「自己保持回路」、「インターロック回路」でプログラムを作ることになります。

時間の要素が入るラダー回路では「タイムチャート」を書く
タイマー(時間の要素)が入ってくると、途端にラダー回路の設計が難しくなります。そんなときは信号の状態が時間の流れに沿って、どのように変換するかを表す「タイムチャート」を書くと理解も早まり、ラダー回路の設計が楽になります。

歩行者用押しボタン信号機のラダー設計

例えば「歩行者用押しボタン信号機」のラダープログラムを作るとします。何から手を付けたら良いか悩んでしまいそうですが、必要な出力信号のタイムチャートを先に書いてしまいます。
ボタンを押したら、どのようにランプが点灯(あるいは点滅)したら良いのかを先に考えてしまうのです。

そうすると、ボタンを押したら一定時間後に作動する「遅延タイマー」、一定時間が経過したら青信号を点滅させるためのタイマーを2個組み合わせた「点滅タイマー」、そして更に一定時間後に赤信号に戻すための「遅延タイマー」が必要なことがわかります。

