【ノウハウ初級】偶数か奇数か判定するラダープログラム例【三菱FX】

00_【ノウハウ初級】偶数か奇数か判定するラダープログラム例【三菱FX】

三菱電機製シーケンサFXシリーズでは、データレジスタ(D)や拡張レジスタ(R)といった数値を格納することができるデバイスが存在します。

これらのデバイスはワードデバイスと呼ばれ、1点が16ビットで構成されます。

ワードデバイスは、ラダープログラム内で「タイマやカウンタの設定値」「アラームにするか判断する閾値」「一連動作の工程番号」などなど様々な活用方法があります。

この記事では、ワードデバイスの代表ともいえるデータレジスタに格納された数値が、偶数であるか奇数であるか判定するラダープログラム例を2ヶ解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはFX3G/FX3GCに設定してあります。

三菱電機製シーケンサFXシリーズにおけるデータレジスタについては以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】データレジスタ(D)の使用方法とラダープログラム例【三菱FXシリーズ】データレジスタ(D)の機能と動作例 00_【三菱FXシリーズ】データレジスタ(D)の使い方【三菱FXシリーズ】データレジスタ(D)の使い方

1.【例題①】2で割った剰余で判定する

下記仕様のラダープログラムを解説します。

仕様
データレジスタD0のデバイス値が偶数であるか奇数であるか判定する。
偶数であれば補助リレーM0をON、奇数であればM1をONする。
偶数と奇数は一対のため、M0とM1が同時にONすることはない。

そもそも偶数とは「2で割ることができる整数」、奇数は「2で割り切れない整数」です。

つまり、2で割ったときの剰余(余り)0であれば偶数1であれば奇数と言い換えることができます。

【例題①】ではこの性質を用いて、データレジスタD0を2で割ったときの剰余(余り)が0であるか1であるか監視することで偶数であるか奇数であるか判定をします。

補助リレー(M)はラダープログラム上で使用できる仮想のリレーです。補助リレーについては以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】補助リレー(M)の使用方法とラダープログラム例【三菱FXシリーズ】補助リレー(M)の機能と動作例

GOTの動作イメージ

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

メモ
GOT(グラフィックオペレーションターミナル)とは、三菱電機製タッチパネルのことで生産現場や工場設備で広く使用されている製品です。
ここでは「GOTはラダープログラムで使用されているデバイスのON/OFF状態や現在値をモニタしたり、変更することができるもの」程度の認識でOKです。
例題①_GOT

GOT上から入力できるデータレジスタD0のデバイス値が、偶数であるか奇数であるか判定します。

D0が偶数であればランプM0が点灯、奇数であればランプM1が点灯します。※M0・M1がONするとランプは点灯します。

メモ
GOTでは出力リレー(Y)以外のデバイスであってもランプに割り当てることができます。

ラダープログラム

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

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

補助リレーM8000は三菱電機製シーケンサFXシリーズにおけるRUN中は常時ONする特殊デバイスです。

M8000を入力条件とする除算(DIV)命令を用いることでデータレジスタD0を定数2で割ったときの商・剰余を求めます。↑のラダープログラムの場合『商はD2』『剰余はD3』に格納されます。(1行目)

例題①_除算解説

D0を2で割った剰余(余り)が格納されたD3を、接点形比較命令を用いて「0であれば偶数と見なしてM0をON」「1であれば奇数と見なしてM1をON」します。(2・3行目)

除算(DIV)命令、接点形比較命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】除算(DIV)命令の指令方法とラダープログラム例【三菱FXシリーズ】除算(DIV)命令の指令方法とラダープログラム例 00_【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例

2.【例題②】最下位ビットの状態から判定する

下記仕様のラダープログラムを解説します。※【例題①】と同様です。

仕様
データレジスタD0のデバイス値が偶数であるか奇数であるか判定する。
偶数であれば補助リレーM0をON、奇数であればM1をONする。
偶数と奇数は一対のため、M0とM1が同時にONすることはない。

データレジスタのデバイス値は、シーケンサ内では2進数(バイナリ)として扱われます。2進数は0か1のどちらかで表される数値で、我々人間が一般的に使用している数値は10進数となります。

2進数と10進数の対比表は以下のようになります。(0~15)

例題②_2進数と10進数の対比表

2進数の最下位ビット(一番右側)に注目してください。2進数の場合、偶数は必ず最下位ビットが”0”になります。逆に奇数の場合は最下位ビットが”1”になります。

例題②_2進数と10進数の対比表-1

【例題②】ではこの性質を用いて、データレジスタD0の最下位ビットを監視することで偶数であるか奇数であるか判定をします。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。※【例題①】と同様です。

例題②_GOT

ラダープログラム

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

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

【例題①】と同様に常時ONするM8000を使用します。

M8000を入力条件とするONビット判定(BON)命令を用いることで、データレジスタD0の0ビット目が”1”であれば補助リレーM1をONさせます。(1行目)

「奇数ではない整数」は偶数のため、M1のb接点でM0をONさせます。(2行目)

ONビット判定(BON)命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】ONビット判定(BON)命令の指令方法とラダープログラム例【三菱FXシリーズ】ONビット判定(BON)命令の指令方法とラダープログラム例

【例題②】の別解です。三菱電機製シーケンサFXシリーズの中でFX3U・FX3UCのみ『ワードデバイスのビット指定』という指令方法があります。

ワードデバイスのビット指定とは、データレジスタなどのワードデバイスの各ビットを接点やコイルとして使用することができる指令方法です。

繰り返しになりますが、データレジスタD0のデバイス値が奇数だった場合、最下位ビット、つまり0ビット目は”1”となります。

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

↑のラダープログラムでは、データレジスタD0.0のa接点でM1をONさせます。D0.0のa接点はD0の0ビット目が”1”であるときにONします。

意味としてはONビット判定(BON)命令で0ビット目を判定しているものと同じになります。

3. おわりに

三菱電機製シーケンサFXシリーズで作成する偶数であるか奇数であるか判定するラダープログラム例を解説しました。

今回は少し遊び心も含めた記事です。私は実務で偶数であるか奇数であるか判定したことは一度もありません。(ここまで解説しておいて…)

ONビット判定(BON)命令の活用方法はないかなぁと思ってこの記事を作成してみた次第です。

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

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

DODA』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

コメントを残す

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