eラーニングの活用
PLCについて興味があるとか、仕事で使わないといけないとか、、
事情は人それぞれかと思いますが最初はやはりメーカーのeラーニングを使って覚えるのがベストだと思います。初歩の初歩はメーカーサイト以上に親切かつ丁寧なものはそうそうありませんので。
もし私が誰かに教える立場だったら「まずコレやって」と言います。
だってゼロから教えるのは面倒くさい。
eラーニングを勧めるだけだと、、この記事が無価値になってしまうのでソフト視点で少し説明したいと思います。
デバイス
PLCの内部にはデバイスと呼ばれるメモリがあります。いくつかの種類があり用途によってデバイスを使い分けます。
以下ざっくりデバイス一覧です。リレーはビットデバイス、レジスタはワードデバイス、タイマとカウンタはビット・ワード複合です。(ON/OFF状態と現在値)
結局のところPLCのプログラムはデバイスがONなのかOFFなのか?値はいくつなのか?ということで判断・処理されますので、ある意味デバイスの値がすべてのカギとなります。
種類 | 三菱 | OMRON | KEYENCE | 備考 |
特殊リレー | SM | A | CR | |
特殊レジスタ | SD | A | CM | |
入力リレー | X | CIO | R | OMRONの場合数字のみで アルファベット無し |
出力リレー | Y | CIO | R | |
内部リレー | M | W | R | |
ラッチリレー | L | H | LR | 電源OFFしても値が保持される |
アナンシェータ | F | – | – | |
エッジリレー | V | – | – | |
ステップリレー | S | – | – | |
リンクリレー | B | – | B | |
リンク特殊リレー | SB | – | – | |
タイマ | T | T | T | 指定時間ON継続でタイマビットON |
積算タイマ | ST | – | – | 条件がOFFしても継続してカウント |
カウンタ | C | C | C | 指定回数ONするとカウンタビットON |
データレジスタ | D | D | DM | |
拡張データレジスタ | D | E E0~E18 | EM | OMRONの場合 CPUによってバンク数が異なる |
リンクレジスタ | W | – | W | |
リンク特殊レジスタ | SW | – | – | |
インデックスレジスタ | Z | IR | Z | |
ファイルレジスタ | R ZR | – | FM ZF | カレントバンクでのアクセス 連番方式でのアクセス |
コンディションフラグ | – | CF | – | OMRONのみ 常時ON/OFF等は特殊リレーに無い 変数であらかじめ定義されている |
まあ使ってればイヤでも覚えるけどな
PLCの内部動作
PLC内部では基本的に以下の処理サイクルを繰り返し延々実行します。
この処理サイクルをスキャンと呼び、実際にかかった処理時間をスキャンタイムと呼びます。
- I/Oリフレッシュ
- プログラムの実行 (ユーザが作成)
- END処理
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や机上検討レベルでは大きな問題になりませんが、実際の装置がそれなりに稼動している状態ではうかつにプログラムを停止させることが出来ない状況が多いので特に注意が必要となります。パラメータを変更する必要が無いのにプログラムと一緒に全転送して停止させてしまう、現場でプログラムを停止させることの危険性を認識していない、等は初心者にありがちです。
コメント