PLCで最初に覚えること

初心者向け

eラーニングの活用

PLCについて興味があるとか、仕事で使わないといけないとか、、
事情は人それぞれかと思いますが最初はやはりメーカーのeラーニングを使って覚えるのがベストだと思います。初歩の初歩はメーカーサイト以上に親切かつ丁寧なものはそうそうありませんので。
もし私が誰かに教える立場だったら「まずコレやって」と言います。

心の声
心の声

だってゼロから教えるのは面倒くさい。

天の声
天の声

オススメは三菱かな。
OMRONは未知数。(やったことないので)

KEYENCEは画像処理に特化してるので初心者向きじゃないかも。

eラーニングを勧めるだけだと、、この記事が無価値になってしまうのでソフト視点で少し説明したいと思います。

デバイス

PLCの内部にはデバイスと呼ばれるメモリがあります。いくつかの種類があり用途によってデバイスを使い分けます。
以下ざっくりデバイス一覧です。リレーはビットデバイス、レジスタはワードデバイス、タイマとカウンタはビット・ワード複合です。(ON/OFF状態と現在値)
結局のところPLCのプログラムはデバイスがONなのかOFFなのか?値はいくつなのか?ということで判断・処理されますので、ある意味デバイスの値がすべてのカギとなります。

種類三菱OMRONKEYENCE備考
特殊リレーSMACR
特殊レジスタSDACM
入力リレーXCIOROMRONの場合数字のみで
アルファベット無し
出力リレーYCIOR
内部リレーMWR
ラッチリレーLHLR電源OFFしても値が保持される
アナンシェータF
エッジリレーV
ステップリレーS
リンクリレーBB
リンク特殊リレーSB
タイマTTT指定時間ON継続でタイマビットON
積算タイマST条件がOFFしても継続してカウント
カウンタCCC指定回数ONするとカウンタビットON
データレジスタDDDM
拡張データレジスタDE
E0~E18
EMOMRONの場合
CPUによってバンク数が異なる
リンクレジスタWW
リンク特殊レジスタSW
インデックスレジスタZIRZ
ファイルレジスタR
ZR
FM
ZF
カレントバンクでのアクセス
連番方式でのアクセス
コンディションフラグCFOMRONのみ
常時ON/OFF等は特殊リレーに無い
変数であらかじめ定義されている

メーカーによって多少名称が異なります。
命令や記述によってビットにもワードにもなりえます。

心の声
心の声

まあ使ってればイヤでも覚えるけどな

PLCの内部動作

PLC内部では基本的に以下の処理サイクルを繰り返し延々実行します。
この処理サイクルをスキャンと呼び、実際にかかった処理時間をスキャンタイムと呼びます。

  1. I/Oリフレッシュ
  2. プログラムの実行 (ユーザが作成)
  3. END処理

メーカーによって順番や用語が異なります。
詳しくは使用するCPUの取扱説明書を参照してください。
ちなみに上記は三菱をざっくり説明したものです。

I/OリフレッシュとはCPU内部のデバイスと入出力ユニットの実際の状態を反映させることです。
(X****に入力ユニットからの情報を取り込み、出力ユニットからY****の状態を出力)
プログラムの実行はユーザが作成したプログラムを指定した順番にすべて実行します。
END処理にはいくつかの内容が含まれます。リフレッシュ処理や内部サービス処理です。
→リフレッシュは主にリンクユニット(CC-Linkとか)に対するリフレッシュ処理で、内部サービスとはCPUと他ユニットとの情報交換(通信などでCPUにアクセスとか)等のことです。

ちなみにスキャンタイムは0.5~20ms程度の場合が多いです。制御の対象・内容によって大きく変わるので一概には言えませんが、、基本的に制御にはリアルタイム性が要求されるのでそれなりに速くないと使いものになりません。

ユニットとデバイスの関係

PLCはいくつかのユニットで構成されますが最低限電源とCPUが必要になります。しかし、それだけでは実際の機器制御は何も出来ませんので入出力ユニット等を使います。
※CPUに入出力機能が内蔵されているものもあります
たとえば入力ユニットを使ってスイッチ入力を取り込み、出力ユニットを使ってランプを点灯させるような場合は

  • スイッチのON/OFF状態に応じて内部デバイスのX0が自動的にON/OFF
  • 内部デバイスのY20のON/OFF状態に連動してランプがON/OFF

という動作になります。
XやYは三菱特有のデバイスですがOMRONであれKEYENCEであれ他のメーカーであれ、デバイスが異なるだけで動作としては基本的には同じです。(上記のようなデジタル入出力は特に。)
他のアナログ等のユニットではデバイスや設定について明確な違いはありますが外部の機器と内部のデバイス値が連動するという意味では同じです。
また外部機器の連動とは無関係な内部デバイスもあります。むしろ機器とは無関係な内部デバイスのほうが多く、実際のプログラムでは内部デバイスをメインに記述します。

ユニットによってどのデバイスが使われるのかをユーザ側で任意に決められるのか、固定的に決まってしまうものか、このあたりはユニットや各メーカーによって異なります。

天の声
天の声

外部の機器と内部デバイスが連動する
ことだけ覚えておけば最初はOK

心の声
心の声

アナログ入出力や位置決めユニットとかだと
ちょっと複雑で面倒くさいけどな
まあ初心者にいきなり全部覚えろってのはムリな話

PLCにはパラメータが必要

PLCは任意のユニットを組み合わせ、ユーザ側でプログラムを作成することで制御を実現するものですが、プログラムだけでは動かすことはできません。
・どんなユニットが使われるのか?
・どんな順番で何のプログラムを実行させたいのか?
こういったことをCPUに教えてやる必要があり、この設定のことをパラメータと呼びます。
ただし、メーカーやCPUのシリーズによってパラメータの名称や設定項目が異なります。細かい部分については必要になった時点でCPUの取扱説明書で調べればOKですが、上記のユニットとプログラムの構成に関するものはメーカー問わず必須になります。

心の声
心の声

ぶっちゃけパラメータの8~9割は初期値のままでOKだけどな

ちなみにこのパラメータはいつでも変更することは可能ですが、変更するにはプログラムを停止させる必要があります。プログラムを停止させると基本的にPLCから外部機器への出力はすべてOFFとなるので注意が必要です。(パラメータ設定にもよりますが初期設定のままだと通常は出力が切れます。)
Simulatorや机上検討レベルでは大きな問題になりませんが、実際の装置がそれなりに稼動している状態ではうかつにプログラムを停止させることが出来ない状況が多いので特に注意が必要となります。パラメータを変更する必要が無いのにプログラムと一緒に全転送して停止させてしまう、現場でプログラムを停止させることの危険性を認識していない、等は初心者にありがちです。

コメント