エンコーダー演算処理方法(パルス積算プログラム)

FA応用

エンコーダーを使って生産長さや測長、位置決めのための積算演算処理をするプログラムについてプログラムを考察します。

参考 エンコーダーとは

*エンコーダーとは、回転または位置情報をパルス信号(例A,B相)として出力するセンサのことで、回転で制御するものはロータリエンコーダと呼びます。

エンコーダー入力について

エンコーダーの入力は、A相、B相2種類の入力の場合、両方を使う場合は2相、信号の立ち上がり立ち下がりを何度判断するかを逓倍といいます。

カウンタ動作について

リニアカウンタの場合は、その上限値、下限値の範囲内で演算し、必要に応じてリセットして使います。

リングカウンタの場合は下限値―上限値を繰り返します。

ライン装置などの場合はリニアカウンタではオーバーフローするので、リングカウンタを使用します。リングカウンタでは、プログラムでの処理で積算する回路必要となります。

リングカウンタのプログラム

エンコーダー入力ユニット(QDユニット)の設定(参考)

エンコーダーの入力モード、カウンタ形式、上下限値を設定します。

上限値、下限値を32767~-32768とします。

プログラム説明1(偏差積算して換算する場合)

ピッチ計測中で動作させます。D100にはPLG(エンコーダーパルス入力)入力が入ります。前回の値と比較してスキャン偏差に差分を演算してスキャン積算値に積算します。この時に、逆の信号が入力された場合は積算しません。(※必要に応じて変更必要です)その積算値はパルス値なので、わかりやすい数値に換算します。

プログラム説明2(ピッチ設定して、そのピッチ(仮に1M)を積算してする場合)

1ピッチ設定をきめて、積算する方法です。スキャン偏差で差分を積算します。1ピッチ分になったら、1Mを加算していくプログラムです。この場合は、運転速度に影響を受ける可能性があります。エンコーダーの入力が1ピッチ分を大きく超える場合は、処理できなくなります。

まとめ

エンコーダーの入力のプログラム処理方法はほかにもあるかと思います。一つに参考にしてください。ロール直径、減速機、モーター等も関係してくることもありますので、装置の機械構成もよく理解しておく必要があります。

コメント

タイトルとURLをコピーしました