【ラダープログラム】データレジスタの練習問題①【三菱FX】

00_【ラダープログラム】データレジスタの練習問題①【三菱FX】

この記事では、データレジスタの練習問題を3ヶ出題します。

この記事中の問題を解くことができれば、
・データレジスタの基本が理解できている。
・基本的な転送命令を使うことができる。
・インクリメント命令を使うことができる。
・接点形比較命令を使うことができる。
と言えます。

データレジスタとはなんだろう…?という方は、下記の記事でデータレジスタについて解説しているので、宜しければご覧ください。

00_データレジスタ(D)の概要と使用例 データレジスタ(D)の概要と使用例

この記事中のPLCは三菱電機製シーケンサ:FX3G-60MT/ESS、ラダープログラムはソフトウェア:GX Works2を使用しています。

注意
解答のラダープログラムはあくまで一例です。
別のプログラムでも動作が同じであれば問題ありません。

1. 【1問目】データレジスタの練習問題1

下記仕様を満たすラダープログラムを作成してください。

仕様
スイッチ(X0)を押すと、データレジスタ(D0)に定数7を転送する。
スイッチ(X1)を押すと、データレジスタ(D0)に定数12を転送する。
スイッチ(X0)と(X1)を同時に押すと、データレジスタ(D0)に定数0を転送する。

データレジスタに定数を転送すためには転送命令(MOV)を用います。

タイムチャート

タイムチャートは以下のようになります。

練習問題1問目_タイムチャート

X0がONするとD0に定数7を転送します。X1がONするとD0に定数12を転送します。

X0とX1が同時にONすると、D0に定数0を転送します。

GOTの動作イメージ

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

練習問題1問目_GOT

解答ラダープログラム

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

練習問題1問目_ラダープログラム

【解説】
データレジスタに定数を転送するために、転送命令を使用します。

転送命令の転送先(上の問題ではD0)は何度でも使用して問題ありませんが、同時に実行されないようにする必要があります。

上のラダープログラムでは、MOVP:パルス実行形を使用することで同時に実行されないようにしています。

転送命令がよくわからない…という方は、下記の記事で転送命令について解説しているので、宜しければご覧ください。

00_【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例 【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例


2. 【2問目】データレジスタの練習問題2

下記仕様を満たすラダープログラムを作成してください。

仕様
スイッチ(X0)を押すたびに、データレジスタ(D0)を1ずつ加算する。
データレジスタ(D0)の値が10になると、データレジスタ(D0)の値は0に戻る。
データレジスタ(D0)の値が「3以上かつ5以下」の場合のみランプ(Y0)が点灯する。

データレジスタの値を1ずつ加算するため、インクリメント命令を用います。ここでは使用しませんが加算命令でも可能です。

「3以上かつ5以下」を判断するために、接点形比較命令を使用します。

タイムチャート

タイムチャートは以下のようになります。

練習問題2問目_タイムチャート

X0がONするたびにD0を1ずつ加算します。

D0の値が「3以上かつ5以下」の場合、Y0がONします。

GOTの動作イメージ

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

練習問題2問目_GOT

スイッチ(X0)を押すたびに、データレジスタ(D0)を1ずつ加算します。

データレジスタ(D0)の値が10になると、データレジスタ(D0)の値は0に戻ります。GOTの表示では10と表示されていませんが、ラダープログラムでは1スキャンのみ10になっています。

データレジスタ(D0)の値が「3以上かつ5以下」の場合のみランプ(Y0)が点灯します。

解答ラダープログラム

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

練習問題2問目_ラダープログラム

【解説】
データレジスタD0を加算させるため、インクリメント命令を使用します。
入力条件であるX0がONするたびに1ずつ加算させるので、INCP:パルス実行形を用います。

「D0の値が10のとき」を判別させるため、接点形比較命令を使用します。上のラダープログラムの [= K10 D0] は、D0の値が10のときのみONします。

D0の値が「3以上かつ5以下」を判別させるには、別の接点形比較命令を使用する必要があります。3以上かつ5以下を一つの命令で補うことはできないので、D0が3以上 [<= K3 D0] と、D0が5以下 [<= D0 K5] を直列で指令します。

インクリメント命令・接点形比較命令がよくわからない…という方は、下記の記事で解説しているので、宜しければご覧ください。

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


3. 【3問目】データレジスタの練習問題3

下記仕様を満たすラダープログラムを作成してください。

仕様
スイッチ(X0)を押すたびに、データレジスタ(D0)を1ずつ加算する。
データレジスタ(D0)の値が5になると、スイッチ(X0)を押してもデータレジスタ(D0)は加算されない。
データレジスタ(D0)の値が5の状態でスイッチ(X1)を押すと、データレジスタ(D0)に定数0を転送する。
※データレジスタ(D0)の値が5未満の状態でスイッチ(X1)を押しても、データレジスタ(D0)は0にならない。

新たな命令は使用しません。インクリメント命令と接点形比較命令を用いてラダープログラムを考えてみてください。

タイムチャート

タイムチャートは以下のようになります。

練習問題3問目_タイムチャート

X0がONするたびに、D0が1ずつ加算します。

D0の値が5になると、X0がONしてもD0は加算されません。

D0の値が5の状態でX1をONすると、D0に定数0を転送します。

GOTの動作イメージ

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

練習問題3問目_GOT

仕様通りの動作になります。(仕様は省略)

解答ラダープログラム

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

練習問題3問目_ラダープログラム

【解答】
練習問題2と同様、データレジスタD0を加算させるため、INCP:パルス実行形を使用します。

接点形比較命令 [= K5 D0] にて、D0が5のときに補助リレーM5がONします。M5のb接点をINCP命令に入れることで、X0が押されてもD0が加算されないようにしています。

M5・X1のa接点を [MOV K0 D0]の入力条件にすることで、D0が5の状態でX1がONすると、D0に定数0を転送しています。


4. おわりに

基礎的なデータレジスタの練習問題を3ヶ出題しました。転送命令・接点形比較命令・インクリメント命令はいずれも使用する頻度が多い命令になるので、理解しておくと色々な場面で使用できるかと思います。

コメントを残す

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