PLC(シーケンサ)について
現在のほとんどの機械装置はPLC(シーケンサ)により制御され動いています。30年前はリレー(補助継電器)でシーケンス回路を配線処理で構成していましたがPLCが世の中に普及してしてから配線処理で構成していたシーケンス回路がプログラム入力で構成できるようになり複雑な機械動作が可能になりました。数千のリレーがPLCのプログラムで置き換え可能になったということです。
初めに登場した時期は主に自動車産業の工場で使われ、生産設備の制御盤の配線を変更する代わりにPLCのソフトウェアの変更でモデルチェンジに対応できるようにしたそうです。一般的なPLCのプログラミングはラダー論理というものを使います。「ラダー図」は梯子のような図形で表されPLCのプログラムを図面で扱うことができます。
PLCは入出力の組み合わせにより構成できると言う特徴があります。入力側はセンサ、リミットスイッチ(移動する装置や架台の位置を検出するセンサ)、温度計、複雑な位置決めシステムから得られる位置情報などあります。出力側はモータ、空気油圧シリンダ、リレー、ソレノイドを駆動できます。これらの入出力を必要な分だけ構成し使用できます。
スキャンタイムとは
PLCはラダー回路を毎回反復処理しており、この1回の処理時間をスキャンタイムと表記しています。簡単に言うとラダー回路を演算処理しエンド命令を受けて演算内容を入出力回路に出力する。またラダー回路を演算処理といった具合に繰り返します。 プログラムが小さくプロセッサが高速なら、このスキャンにかかる時間は数ミリ秒で済みますが、大きなプログラムでは数100ミリ秒と時間がかかる事があります。スキャン時間が長すぎると、工程状況へのPLCの反応が遅くなる場合がありますので注意が必要です。スキャンタイムについてもう少し詳しい説明をみる。
デジタル信号とは
PLCで扱う信号はデジタル信号です。デジタル信号とは単純に「ON」と「OFF」(「1」と「0」)の信号で有限個の数値しか使えません。PLCで8本の信号線がこの入力に割り当てられたとすると、あつかえる数値は0~255となります。
例えばビット列”1000-0000″の場合、BINでは「128」となり総て“1111-1111”になると128+64+32+16+8+4+2+1=255となります。
数の表現方法
PLC内部での数の表現方法ですが、整数について分類すると大きくわけて3つあります。
HEX(16進)
BIN(10進表示)
BCD(2進化10進)
このうち10進表記にする際にBIN,BCDのふたつの形式があるのが厄介なところです。
例えば、ビット列”1000 0000″の場合下記のように表示されます。
(例)
BIN:「128」
BCD:「80」
BCDでは1桁に4ビットづつ割り振ります。(16ビットで4桁表示)16ビットは「1111 1111 1111 1111=65535」までですが、BCDは「9999」までしか扱えません。大抵の機器は当然BINで表記していますが、一部のPLCメーカはBCDを採用している例があるので注意が必要です。
(例)
「9376」=”1001 0011 0111 0110”で[8+1 2+1 4+2+1 4+2]
HEX(16進)はA,B,C,D,E,Fとアルファベットが追加され9の次がAその次がB,C,D,E,Fとなります。
(例)
ABCDF=”1010 1011 1100 1101 1111”で[10 11 12 13 14 15]
参考までに同じビット列でどのように表示されるかまとめてみました。