【三菱Qシリーズ】上下限リミット(LIMIT)命令の指令方法とラダープログラム例

00_【三菱Qシリーズ】上下限リミット(LIMIT)命令の指令方法とラダープログラム例

「上下限リミット」命令とは、三菱電機製シーケンサQシリーズにおける指定したデバイスの値を、設定した上下限の範囲外にしないラダープログラム命令です。

説明が下手ですね…指定したデバイス値を上下限でクランプする命令です。

この記事では、三菱電機製シーケンサQシリーズにおける上下限リミット命令の指令方法とラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはQ03UDEに設定してあります。
注意
同じ三菱電機製シーケンサFXシリーズでは「上下限リミット」命令はFX3U/FX3UCのみ指令することが出来ます。

1. 上下限リミット命令の指令方法

上下限リミット命令には、4種類の指令方法があります。

  • LIMIT:16ビット連続実行形
  • LIMITP:16ビットパルス実行形
  • DLIMIT:32ビット連続実行形
  • DLIMITP:32ビットパルス実行形

LIMITは、限度・限界(Limit)からきています。

メモ
連続実行形は、入力条件がONしている間、毎スキャン実行される命令です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。

LIMIT:16ビット連続実行形(基本の形)

16ビット連続実行形の上下限リミット命令は”LIMIT”と指令します。

こちらがLIMIT命令を使用したラダープログラム例です。

10_LIMIT命令

このラダープログラムでは、データレジスタD0の値をD10に転送します。その際、「D0の値が-10以下であればD10には-10」を「D0の値が10以上であればD10には10」を転送します。

LIMIT命令は「連続実行形」であるため、X0がONしている間にD0の値が変わるとD10の値も追従して変わります。
メモ
GX Works2では、回路上で LIMIT K-10 K10 D0 D10 と入力してEnterキーを押すと、上の命令文が挿入されます。

LIMITP:16ビットパルス実行形

16ビットパルス実行形の上下限リミット命令は”LIMITP”と指令します。

こちらがLIMITP命令を使用したラダープログラム例です。

11_LIMITP命令

連続実行形(LIMIT命令)との違いは、入力条件X0がONした瞬間のみ命令が実行されることです。つまりX0した瞬間に上下限リミット命令にてD0の値をD10に転送します。

DLIMIT・DLIMITP:32ビット実行形

32ビット連続実行形の上下限リミット命令は”DLIMIT”と指令します。

32ビットパルス実行形の上下限リミット命令は”DLIMITP”と指令します。

こちらがDLIMIT・DLIMITP命令のラダープログラム例です。

12_DLIMIT命令
13_DLIMITP命令

32ビット実行形の場合、2ワード(32ビット)長のデータを対象としています。

上のラダープログラムでは、データレジスタD0,D1の2ワード長の値を-50000~50000の間でD10,D11に転送します。

D0,D1の値が-50000以下の場合、D10,D11には-50000を転送します。

D0,D1の値が50000以上の場合、D10,D11には50000を転送します。

メモ
データレジスタ1点(16ビット)では、-32,768~32,767の数値を扱うことができます。
データレジスタ2点(32ビット)では、-2,147,483,648~2,147,483,647の数値を扱うことができます。

2. 【例題①】入力値を上下限で制限する

下記仕様のラダープログラム例について解説します。

仕様
データレジスタD0の値を、D1に格納する。
この時、D0の値が-50以下であれば-50を、50以上であれば50をD1に転送する。
※上記処理は、常時行うものとする。

上下限リミット命令を用いて、範囲を-50~50に指定します。

処理を「常時」行うために、常時ONする接点を使用します。三菱電機製シーケンサQシリーズにおける特殊デバイスで「SM400」が常時ONするデバイスになります。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題①_GOT

データレジスタD0の値が-50~50の範囲内であれば、その値のままD1に転送します。-50以下・50以上の場合は上下限でリミットが掛かります。

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

16ビット連続実行形のLIMIT命令を使用して、データレジスタD0の値を-50~50で上下限にリミットを掛けています。リミットを掛けた結果をD1に転送します。

3. 【例題②】増減する値を上下限でクランプする

下記仕様のラダープログラム例について解説します。

仕様
スイッチ(X0)を押している間、データレジスタD0を1ずつ加算(インクリメント)する。
スイッチ(X1)を押している間、データレジスタD0を1ずつ減算(デクリメント)する。

データレジスタD0の値を、D10に格納する。
この時D0の値が「D2以下であればD10にはD2の値」「D1以上であればD10にはD1の値」を転送する。
データレジスタ「D1を上限値」「D2を下限値」とする。

【例題①】では上下限を±50の「定数」でしたが、今回はデータレジスタD1,D2になります。

1ずつ加算するにはインクリメント(INC)命令、1ずつ減算するにはデクリメント(DEC)命令を使用します。

インクリメント・デクリメント命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】インクリメント(INC)・デクリメント(DEC)命令の指令方法とラダープログラム例 【三菱FXシリーズ】インクリメント(INC)・デクリメント(DEC)命令の指令方法とラダープログラム例

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題②_GOT

スイッチ(X0)を押している間、データレジスタD0を1ずつ加算(インクリメント)して、スイッチ(X1)を押している間、データレジスタD0を1ずつ減算(デクリメント)します。

データレジスタD0の値をD10に格納します。この時D0の値が「D2以下であればD10にはD2の値」「D1以上であればD10にはD1の値」を転送します。

ラダープログラム

ラダープログラムは以下のようになります。

例題②_ラダープログラム

X0を入力条件とするインクリメント(INC)命令でデータレジスタD0の値を加算(インクリメント)します。

X1を入力条件とするデクリメント(DEC)命令でデータレジスタD0の値を減算(デクリメント)します。

上下限リミット(LIMIT)命令でD0の値をD2~D1に上下限でクランプして、D10に値を転送しています。

4. おわりに

上下限リミット命令について解説しました。

この命令を使用することにより、接点形比較命令を複数使用せずに「上下限で値をクランプする」ことが可能になります。

三菱電機製シーケンサFXシリーズでは使用できないシーケンサがあるのでご注意ください。

以下の参考書は、シーケンス制御・ラダープログラムについて詳しく解説しているものです。

本書は私が通っていた短大のシーケンス制御の講義に教科書として使用していました。

シーケンス制御で必要なスキルはリレー回路やラダープログラムを組めることだけではなく、ソレノイドバルブやインダクションモータなどの機器を理解していなければなりません。本書では、それらの機器を実際の機構を交えて解説しています。

ラダープログラムは基礎部分から、一連動作を組むまで解説していますので中級者が読んでも意味がある内容です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です