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

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

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

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

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

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

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

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

1. 【1問目】データレジスタを1秒毎に加算

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

仕様
スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算する。

データレジスタ(D0)を1ずつ加算するために、インクリメント命令(INC命令)を使用します。

タイムチャート

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

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

X0がONしている間、D0は1秒毎に1ずつ加算します。X0がOFFするとD0は加算をしなくなり、その時の値を保持します。

GOTの動作イメージ

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

練習問題1問目_GOT

スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算します。

解答ラダープログラム

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

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

【解説】
データレジスタ(D0)を1ずつ加算させるため「1秒毎にONするタイマ」を用意します。タイマ(T0)はX0がONしている間、1秒毎に1スキャンのみONするタイマです。タイマ(T0)は自分自身のb接点で入力条件をOFFしているため、この部分を自滅タイマ回路と呼びます。

タイマ(T0)の設定値はK10になっているため、タイマ(T0)のa接点は「スイッチ(X0)が押されている間、1秒毎に1スキャンのみON」します。

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

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

2. 【2問目】データレジスタを1秒毎に加算・減算

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

仕様
スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算する。
スイッチ(X1)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ減算する。

データレジスタ(D0)を1ずつ減算するために、デクリメント命令(DEC命令)を使用します。

タイムチャート

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

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

X0がONしている間、D0は1秒毎に1ずつ加算します。X1がONしている間、D0は1秒毎に1ずつ減算します。

GOTの動作イメージ

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

練習問題2問目_GOT

スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算します。

スイッチ(X1)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ減算します。

解答ラダープログラム

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

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

【解説】
【1問目】の仕様にスイッチ(X1)の処理を追加したものになります。

減算用にはタイマ(T1)を使用します。

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


3. 【3問目】データレジスタに定数0を転送

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

仕様
スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算する。
スイッチ(X1)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ減算する。
スイッチ(X2)を押すと、データレジスタ(D0)に定数0を転送する。

【2問目】にスイッチ(X2)の処理が追加されました。定数0を転送するためには転送命令(MOV命令)を使用します。

タイムチャート

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

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

X0でインクリメント、X1でデクリメントする処理は【2問目】と同様です。

X2がONするとD0に定数0が転送されます。

GOTの動作イメージ

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

練習問題3問目_GOT

スイッチ(X0)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ加算します。スイッチ(X1)を押している間、データレジスタ(D0)の値を1秒毎に1ずつ減算します。

スイッチ(X2)を押すと、データレジスタ(D0)に定数0を転送します。

解答ラダープログラム

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

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

【解説】
【2問目】の仕様にスイッチ(X2)の処理を追加したものになります。

X2がONしたとき、D0に定数0を転送するために転送命令(MOV命令)を使用します。

[MOV K0 D0]はD0に定数0を転送する命令になります。

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

4. おわりに

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

コメントを残す

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