【オムロンNJ/NX】領域比較(ZoneCmp)FUNの指令方法とラダープログラム/ST例

00_【オムロンNJNX】領域比較(ZoneCmp)FUNの指令方法とラダープログラムST例

オムロンNJ/NXシリーズにおける「領域比較(ZoneCmp)FUN」は、比較データ(In)の値が上限値と下限値の領域内であるか(下限値≦比較データ≦上限値であるか)を求めるファンクションです。

この記事では、オムロンNJ/NXシリーズにおける領域比較(ZoneCmp)FUNの指令方法ラダープログラム、ST言語の例について解説します。

注意
この記事中のプログラムはSysmac Studio Ver.1.62で作成しており、CPUはNJ501-1500に設定してあります。

オムロンNJ/NXシリーズでは、他の比較(=,<>,<,<=,>,>=)ファンクションが用意されています。比較(=,<>,<,<=,>,>=)ファンクションについては以下のページで解説しております。

00_【オムロンNJNX】比較FUNの指令方法とラダープログラムST例 【オムロンNJ/NX】比較(=,<>,<,<=,>,>=)FUNの指令方法とラダープログラム/ST例
当サイトは現場の技術者を応援するスポンサー様のご支援により運営されています。
スポンサー様一覧ページはこちら>>

1. 領域比較FUNの指令方法

領域比較(ZoneCmp)FUNはLD表現(ラダープログラム)とST表現(ST言語)で使用することができます。

10_LD表現
ラダープログラム
ST言語
Result := ZoneCmp(MN, In, MX);

領域比較(ZoneCmp)FUNは↓の引数で構成されています。

引数タイプデータ型初期値コメント
ENINBOOLイネーブル入力
MNIN0下限値
InIN比較データ
MXIN0上限値
ResultRETURNBOOL比較結果

LD表現

↓がLD表現で使用したラダープログラム例です。

11_LD使用例
メモ
領域比較(ZoneCmp)はFUN(ファンクション)のため、インスタンス名を指令する必要はありません。

このラダープログラムでは、比較データであるInDataの値が「上限値以下」かつ「下限値以上」の場合、OutFlag(出力フラグ)がTRUEになります。それ以外の場合、OutFlag(出力フラグ)がFALSEになります。

ST表現

↓がST表現で使用したST言語例です。

ST言語
OutFlag := ZoneCmp(MN := InMin, In := InData, MX := InMax);
メモ
引数タイプがIN、IN-OUTの場合は、「:=」で引数に値を引き渡します。引数タイプが「OUT」の場合は、「=>」で引数の値を変数に格納します。

このSTでは、比較データであるInDataの値が「上限値以下」かつ「下限値以上」の場合、OutFlag(出力フラグ)がTRUEになります。それ以外の場合、OutFlag(出力フラグ)がFALSEになります。※前述のLD表現と同じ動作です。

2.【例題】変数の値を範囲比較する

下記仕様のラダープログラム、STを領域比較(ZoneCmp)FUNを用いて解説します。

仕様
変数Data00の値がData01(上限)~Data02(下限)の範囲内のとき、ランプ緑が点灯する。
(Data02≦Data00≦Data01)
変数は全て1ワード符号あり整数(INT)型として扱う。

Data00の値がData01(上限)~Data02(下限)の範囲内であるか判定する処理に領域比較(ZoneCmp)FUNを使用します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネルイメージ

変数Data00の値がData01(上限)~Data02(下限)の範囲内のとき、ランプ緑が点灯します。

使用する変数

使用する変数は以下になります。

変数データ型コメント
Data00INTデータ00(In)
Data01INTデータ01(Max)
Data02INTデータ02(Min)
LpGreenBOOLランプ緑

ラダープログラム

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

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

比較データにData00、上限値(Max)にData01、下限値(Min)にData02を指令した領域比較(ZoneCmp)FUNで、Data00がData01~Data02の範囲内であるか判定します。

範囲内であれば比較結果がTRUEとなり、ランプ緑が点灯します。

ST言語

ST言語は以下のようになります。

ST言語
//Data02≦Data00≦Data01であればランプ緑が点灯
LpGreen := ZoneCmp(MN := Data02, In := Data00, MX := Data01);

3. おわりに

オムロンNJ/NXシリーズにおける領域比較(ZoneCmp)FUNについて解説しました。

電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

コメントを残す

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