オムロンCJシリーズにおける「ビット反転」命令とは、CHデータを反転するラダープログラム命令です。
ビット反転命令を用いることにより、CHデータの各ビットのON/OFF(1 or 0)を反転させることができます。
この記事では、オムロンCJシリーズにおけるビット反転命令の指令方法とラダープログラム例について解説します。
オムロンCJシリーズにはCHデータを反転させた結果を他のCHに転送する「否定転送」命令があります。否定転送(MVN)命令については以下のページで解説しております。
【オムロンCJ】否定転送(MVN)命令の指令方法とラダープログラム例目次
1. ビット反転命令の指令方法
ビット反転命令には、動作オプションを含めると4種類の指令方法があります。
命令文 | 内容 | 動作オプション |
---|---|---|
COM | 1ワード長のビット反転命令 | – |
@COM | 1ワード長のビット反転命令 | 微分 |
COML | 2ワード長のビット倍長反転命令 | – |
@COML | 2ワード長のビット倍長反転命令 | 微分 |
COM:1ワード長のビット反転命令(動作オプション無し)
1ワード長のビット反転命令(動作オプション無し)は”COM”と指令します。
こちらがCOM命令を使用したラダープログラム例です。
このラダープログラムは、0.00がONしている間、データメモリD0の各ビットを反転します。
例えば、D0に16進数”AAAA”が格納されている状態で0.00がONすると、D0には各ビットの反転した”5555”になります。
↓は16進数”AAAA”を反転したときのデータメモリD0の内容です。
D0に16進数”FFFF”が格納されている状態で0.00がONすると、D0には各ビットの反転した”0000”になります。
↓は16進数”FFFF”を反転したときのデータメモリD0の内容です。
オプション無しのビット反転(COM)命令を用いた場合、1サイクル毎にD0が反転し続けます。D0の各ビットを反転させる場合「入力条件を微分化」または「微分オプションの反転(@COM)命令」を使用する必要があります。
「入力条件を微分化する」手法として、立上り微分(DIFU)命令があります。立上り微分(DIFU)命令については以下のページで解説しております。
【オムロンCJ】立上り微分(DIFU)命令の指令方法とラダープログラム例「微分オプションの反転(@COM)命令」については、次項で解説します。
先ほどのラダープログラムはCX-Programmerの回路上で COM D0 と入力してEnterキーを押すと命令が挿入されます。 ※スマートインプットモードの場合
@COM:1ワード長のビット反転命令(微分オプション)
1ワード長のビット反転命令(微分オプション)は”@COM”と指令します。
こちらが@COM命令を使用したラダープログラム例です。
微分オプションのビット反転(@COM)命令は「入力条件の立ち上がり(OFF→ON)時に1サイクルのみ命令が実行される」ことです。
立ち上がり時に1回のみCHデータが反転するため、入力条件がONし続けたとしても1サイクル毎にD0が反転し続けることはありません。
COML・@COML:2ワード長のビット倍長反転命令
2ワード長のビット倍長反転命令(動作オプション無し)は”COML”と指令します。
2ワード長のビット倍長反転命令(微分オプション)は”@COML”と指令します。
こちらがCOML・@COML命令のラダープログラム例です。
2ワード長のビット倍長反転命令の場合、各CHは指定したCHを下位とする2ワードとして扱われます。
2.【例題①】1ワード長の反転結果を求める
下記仕様のラダープログラムをビット反転命令を用いて解説します。
反転させる対象のデータメモリはD0のみのため、1ワード長のビット反転命令を使用します。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。
スイッチ(0.00)を押すと、データメモリD0の各ビットの状態が反転します。
ラダープログラム
ラダープログラムは以下のようになります。
0.00を入力条件とする1ワード長のビット反転命令(微分オプション)の@COM命令を使用して、D0の各ビットの状態を反転します。
オプション無しのビット反転(COM)命令を用いると、1サイクル毎にD0が反転し続けるため、@COM命令を使用しています。(入力条件を微分化してCOM命令を用いてもOKです。)
3.【例題②】2ワード長の反転結果を求める
下記仕様のラダープログラムをビット倍長反転命令を用いて解説します。
データメモリはD0を下位とする2ワード(32ビット)長として扱う。
データメモリを2ワード長として扱うため、2ワード長のビット倍長反転命令を使用します。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。
スイッチ(0.00)を押すと、データメモリD0,D1の各ビットの状態が反転します。
ラダープログラム
ラダープログラムは以下のようになります。
0.00を入力条件とする2ワード長のビット倍長反転命令(微分オプション)の@COML命令を使用して、D0,D1の各ビットの状態を反転します。
4. おわりに
オムロンCJシリーズにおけるビット反転命令について解説しました。
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。