三菱PLC 割込みプログラムやってみた

高速入力信号でエンコーダーのパルス入力の演算処理をする場合、入力処理をラダーで書くとスキャンの影響が多くて、演算が正確にできない。そこで、入力があったら、演算処理をするために割込みプログラム処理をしましょう。 

目次 

1. 割込みプログラム 

2. iQrの場合 

3. Qの場合 

4. できるかなQでP 

5. 終わりに 



1. 割込みプログラム EIで割込みプログラムを実行する宣言をします。 FENDでプログラムを切り分けします。 以降にサブルーチンを記述します。 I**のあとは必ずIRETでメインプログラムに戻します。 

マニュアル参照:QnUCPUユーザーズマニュアル (機能解説・プログラム基礎編) 

 2. iQrの場合

 iQrの場合は、入力ユニットの設定で割込みプログラムを使えます。 



プログラムはこのような感じです。

3.Qの場合

 PCパラメータ設定します。 割込みユニットが必要です。

 インテリユニットの割込みプログラム設定でX0が入力するとI60が割込みするプログラムの設定をします。 なにも設定しない場合は、0から始まりますが、ユニットが複数ある場合は、この設定をする必要があります。

 4. できるかなQでP 

Qシリーズの高速ユニットでは割込みプログラムの処理はできないようなので ポインタで飛ばしましょう! 

 高速入力をダイレクト入力して、サブルーチン処理します。 割込みほど精度はでないと思いますが

 5. 終わりに 

やはりiQrだと設定でなんでもできてしまうようです。 Qも現役なので、割込みの使い方を再確認しました。 実は、iQrでしか入力ユニットで割込み処理したことなかったので、サポートに電話してしまった。

シリアル通信処理等のインテリユニットでは、受信処理で普通に割込みプログラム使いますので、今度アップします。 


FA電気設計屋の備忘録

FA設計では、主としてPLC(シーケンサ)を使用してプログラムします。ラダーソフトは、簡便でちょっと理解できれば使えますが、昨今のIOT時代を迎えて、高速、高度化がすすみ、今までPC等の言語系プログラムしかできなかったことさえも可能となっています。そうなると今まで通りの考え方では、プログラム設計はバグとの闘いになります。その闘いの記録とFA設計で必要な備忘録をアップします。

0コメント

  • 1000 / 1000