プログラマブルコントローラは、プログラムで定められた順序や条件などに従って設備や機械の動きを制御する装置です。位置、速度、連続量を制御したり装置間で情報交換したりすることも可能です。ここではプログラマブルコントローラの用語を解説します。
PLC(プログラマブルコントローラ)の共通の基本動作を、初めて当社PLCを選定いただくために必要と思われる用語を中心に記載しています。ご購入後のFAシステムやPLCプログラミングの設計に必要な技術情報を網羅しているものではありません。
PLCにおいて、お客様が設計されたユーザプログラムは、PLC内のメモリ領域(オムロンではこれを「I/Oメモリ」と呼びます)の情報を読み書きしながら、命令を先頭から1つずつ順番に最後まで実行することによって、処理されます。
一方、PLCまたは基本I/Oユニットに直接つながれたセンサ/スイッチなどのPLC外のデータは、あるタイミングで、PLC内の「I/Oメモリ」のデータと一括交換されます。このPLC外の外部データとPLC内のI/Oメモリ内のデータの一括交換の処理が、「I/Oリフレッシュ動作」です。
どのタイミングでI/Oリフレッシュを実行しているのかを知ることは、お客様が設計されるFAシステムやユーザプログラムの動きを検討するときに重要です。このI/Oリフレッシュ動作は、命令をすべて実行した直後に実行されています。(下図参照)
PLCの処理サイクルにおいて、I/Oリフレッシュが実行(開始)されてから、次のI/Oリフレッシュが実行(処理)されるまでの時間が、サイクルタイムです。
サイクルタイムには、共通処理(自己診断)、ユーザプログラム実行処理、I/Oリフレッシュ処理、周辺サービス処理などに要する時間が含まれます。
次の手順でサイクルタイムを求めることができます。
サイクルタイム=共通処理時間+命令実行時間の合計+I/Oリフレッシュ時間+周辺サービス時間
PLC機種ごとの各実行時間の計算方法は、製品マニュアルに記載されています。
通常、ユーザプログラムは、PLCの処理サイクル内でI/Oリフレッシュなどのその他処理含めて順番に実行されます(「I/Oリフレッシュ」の項参照)。
この処理サイクルに優先して実行できる処理が、割込タスクです。あらかじめ指定した割込条件が成立すると、処理サイクルを中断し、優先的に実行されます。
(PLCの機種により「割込タスク」を「割込プログラム」と表現する場合もありますが、本書ではCS/CJシリーズで使用される「割込タスク」の表現で説明します。)
例えば、CS/CJシリーズの場合、この割込タスクとして電断割込、定時割込、I/O割込、内部タイマによる定周期割込、外部割込などが提供されています。
主な割込タスク | 内容 |
電断割込タスク | 電源断時に実行 |
定時割込タスク | 一定時間間隔で実行 |
I/O割込タスク | 割込入力ユニットの接点立ち上がりで実行 |
外部割込タスク | 高機能I/Oユニット、CPU高機能ユニット、INNERボード(CSシリーズのみ)から要求があったとき実行 |
PLCに装着されている入出力ユニットの入力・出力信号を、ユーザプログラムで取り扱えるようにするには、あらかじめPLC内のI/Oメモリのアドレスに割り当てておく必要があります。
このPLCに装着されたユニットの実入出力をI/Oメモリ上に割り付けることがI/O割付です。CPUユニットはこのI/O割付情報をもとに装着ユニットとI/Oリフレッシュ動作を行います。
このI/O割付情報は、「登録I/Oテーブル」としてPLC内に記録されます。「登録I/Oテーブル」の作成は、プログラミングツールから実際にPLCに装着されたユニットの情報をもとにオンラインで自動登録する方法と、プログラミングツール上でオフラインで設計した後にPLCにI/Oテーブルを転送して自動登録する方法があります。(機種によっては、登録I/Oテーブル作成不要のもの、オフラインでI/Oテーブルを設計できないものなどがあります。)
オンラインで自動登録
オフラインで自動登録
PLC内ではユーザプログラム、I/Oメモリのデータやコメント情報、CPUユニットや高機能ユニットの設定情報、登録I/Oテーブル情報などさまざまなデータを取り扱います。
このようなPLCが取り扱うデータをすべて保管しているところが、CPUユニット内のメモリエリアです。
PLCには次のように3種類のメモリエリアがあり、バッテリによってバックアップされています。
なお、CS/CJシリーズの場合、フラッシュメモリが内蔵されメモリエリアの内容をバックアップしているため、バッテリ電圧が低下してもユーザプログラムおよびパラメータエリアのデータは消失しません。
ユーザープログラムエリア
お客様が設計されたユーザプログラムが記録されます。
I/Oメモリエリア
命令のオペランドによってアクセスすることができる領域です。チャネルI/O(CIO)、内部補助リレー、保持リレー、特殊補助リレー、データメモリ、拡張データメモリ、タイムアップフラグ・現在値、カウントアップフラグ・現在値、タスクフラグ、インデックスレジスタ、データレジスタ、コンディションフラグ、クロックパルスなどの情報が記録されています。
I/Oメモリエリアのデータには電源断後の復帰時に内容がクリアされる領域と、以前の情報が保持される領域があります。(クリア・保持の選択が可能なエリアもあります。)
パラメータエリア
PLCが取り扱う各種の初期設定情報です。
PLCシステム設定、登録I/Oテーブル、ルーチングテーブル、CPU高機能ユニットシステム設定などの情報が記録されています。