## はじめに
この記事では、特殊リレーの利用法について解説します。特殊リレーは、プログラマブルロジックコントローラー(PLC)でさまざまな制御タスクを実行するための便利な機能です。特殊リレーの種類と利用方法について詳しく見ていきましょう。
使用機材
機種など | |
---|---|
PLC | Q02CPU, QX41, QY41P, Q62P, Q38B |
アプリ | GX Works 2 |
I/O割り付けはこちらを参照してください。
特殊リレー
MELSEC-Qシリーズのデバイス番号です。
説明 | デバイス番号 | |
---|---|---|
常時ON | RUN中は常にONの状態 | SM 400 |
常時OFF | RUN中は常にONの状態 | SM401 |
RUN後に1スキャンON | RUNの最初のスキャンのみ | SM402 |
RUN後に1スキャンOFF | RUNの最初のスキャンのみ | SM403 |
クロック | 0.01秒 | SM409 |
0.1秒 | SM410 | |
0.2秒 | SM411 | |
1秒 | SM412 | |
2秒 | SM413 | |
2n秒 n:SD414(sec) | SM414 | |
2n(ms) n:SD415(ms) | SM415 |
特殊リレーの利用法
SM400, SM401
Y70 := SM400; (* 常時オン *)
Y71 := TRUE; (* 常時オン *)
Y72 := SM401; (* 常時オフ *)
Y73 := FALSE; (* 常時オフ *)
SM400は常にオンの特殊リレーです。このリレーは、プログラムの実行中は常にオンの状態を保ちます。
ラダー図では常時点灯ランプなどの時に母線との間に何かをかまさないといけない都合上使うようですが、ST言語ではTRUEの代入で
SM402を使った例(初期値設定)
以下のプログラムは、SM402を利用して初期値を設定する例です。
IF SM402 THEN
M0 := TRUE;
CN1 := 1;
D1 := 500;
END_IF;
このプログラムでは、プログラムが最初に実行されるときに、M0をTRUEに設定し、CN1に1を、D1に500を初期値として設定します。
PLCでは電源投入時に内部デバイスなどは初期化されてFALSEや0の状態ですが、他の言語などで初期化の習慣がついていると、”宣言のない状態”が気持ち悪いので、SM402を利用して明示します。
1秒ごとに点灯するランプ
以下のプログラムは、SM412とSM413を利用してランプの点灯を制御する例です。
クロックの秒数は周期の長さなので1秒クロックの場合は0.5秒のONと0.5秒のOFFを繰り返します。
IF SM412 THEN
M0 := TRUE;
ELSE
M0 := FALSE;
END_IF;
Y70 := M0;
Y71 := NOT SM413;
まとめ
特殊リレーは、PLCプログラミングでさまざまな制御タスクを柔軟に実現するための重要な要素です。適切に活用することで、効率的なプログラムの作成が可能となります。是非、プロジェクトに応じて特殊リレーを活用してみてください。