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

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

この記事では、時計データ読出し(TRD)命令を用いた時刻データを扱うラダープログラムの練習問題を3ヶ出題します。

この記事中の問題を解くことができれば、「時計データ読出し(TRD)命令の使用方法を理解している」と言えます。

時計データ読出し(TRD)命令とは、シーケンサが記憶している現在の西暦・月・日・時・分・秒・曜日を数値としてデータレジスタなどに転送する命令です。

時計データ読出し(TRD)命令については別記事で紹介していますので、宜しければご覧ください。

00_【三菱FXシリーズ】時計データ読出し(TRD)命令の指令方法とラダープログラム例【三菱FXシリーズ】時計データ読出し(TRD)命令の指令方法とラダープログラム例

この記事中のラダープログラムはGX Works2で作成しており、プロジェクトのPCシリーズはFXCPU、PCタイプはFX3G/FX3GCに設定してあります。

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

1.【1問目】時計データ読出し命令(定刻でON)

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

仕様
毎日15:00になった瞬間にランプ(Y0)を5秒間点灯する。

時計データ読出し(TRD)命令で「時」が15になったときに (Y0)を点灯します。

解答ラダープログラム

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

【解説】
M8000はシーケンサがRUNのとき常時ONする特殊デバイスです。M8000が入力条件であるTRD命令は下記データレジスタに各時計データを転送します。

D0:年(西暦)
D1:月
D2:日
D3:時
D4:分
D5:秒
D6:曜日

仕様の15:00になった瞬間とは、言い換えれば「D3が15になった瞬間」です。D3の値を判断するために、接点形比較命令を使用します。

D3=15のときにY0をONさせると、16:00になるまで1時間ランプがONしてしまいます。一度パルス(PLS)命令でD3が15になった瞬間を作り出しています。

M0がONすると、5秒後に切れるオンディレイタイマ回路を用いてランプを5秒間ONさせます。

このラダープログラムで使用した命令は別記事で紹介していますので、宜しければご覧ください。

00_【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例 00_【三菱FXシリーズ】パルス(PLS・PLF)命令の指令方法とラダープログラム例【三菱FXシリーズ】パルス(PLS・PLF)命令の指令方法とラダープログラム例 00_タイマ(T)の概要と使用例【ラダープログラム】タイマ(T)の使い方と例題

2.【2問目】時計データ読出し命令(西暦)

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

仕様
データレジスタ(D20)に現在の西暦を常時転送する。
例)2019年であれば2019

TRD命令では西暦の下2桁が転送されますので、2000を加算させる必要があります。

解答ラダープログラム

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

【解説】
TRD命令により、D0に現在の西暦が転送されます。ただし西暦の下2桁が転送されるので加算(ADD)命令により定数2000を加算した結果をD20に転送しています。

このラダープログラムで使用した命令は別記事で紹介していますので、宜しければご覧ください。

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

3.【3問目】時計データ読出し命令(1時間に1回ON)

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

仕様
1時間に1回、1分間ランプ(Y0)を点灯する。

色々な実現方法があります。ここではTRD命令によって読み出した「分」を使用します。「分」は0~59を1時間かけて1分毎に変化します。

解答ラダープログラム

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

【解説】
TRD命令により、D4に現在の「分」が転送されます。「分」は0~59を1時間かけて1分毎に変化します。つまりD4は1時間に1回、1分間”0”になります。

ここでは接点形比較命令でD4が”0”のときY0をONしましたが、1~59でも「1時間に1回、1分間ON」させることができます。(ONするタイミングはズレます)


4. おわりに

時刻データ読出し命令の練習問題を3ヶ出題しました。

コメントを残す

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