ラダー脳からST言語への勉強2

ラダープログラムは少し書けますが、メーカー問わず扱うことのできるST言語を勉強中です。ST言語はテキストベースのプログラミング言語でC言語に似た構文を持ちます。勉強の環境としてはキーエンスPLC(KV-8000)でシミュレータエディットで動作確認しながらしています。

まずはキーエンスのプログラムをかける人でもわかるように、変数を扱わずにプログラム作成をしています。

■KV-8000機器構成

入力:R34000~

出力:R34100~

自己保持

IF R34000 THEN
MR1000 := TRUE;
END_IF;

IF R34002 THEN
MR1000 := FALSE;
END_IF;

解説:R34000をONで、MR1000がONしたままになる。

R34002をONすると、MR1000がOFFになる。

※SET、RESしなくても自己保持がかかる。

ランプ点滅(3秒点灯、2秒消灯)

TMR (MR2000, T1, 30); //ランプONタイマー設定
TMR (MR2002, T2, 20); //ランプOFFタイマー設定

//ランプ運転開始条件

IF R34000 THEN
MR1000 := TRUE;
END_IF;

//ランプ運転停止条件

IF R34002 THEN

MR1000 := FALSE;

MR2000 := FALSE;

MR2002 := FALSE;
END_IF;

//ランプ運転中

IF MR1000 AND MR2002 = FALSE THEN
SET(MR2000);
END_IF;

IF T1 = TRUE THEN
RES(MR2000);
SET(MR2002);
END_IF;

//ランプ停止

IF T2 = TRUE THEN
MR2002 := TRUE;
MR2000 := FALSE;
END_IF;

IF T2 = TRUE THEN
RES(MR2002);
END_IF;

//ランプ出力

R34100 := MR2000;

解説:R34000をONで、MR1000がONしたままになる。

MR1000がONになると、MR2000がSET。

MR2000がONになると、T1がカウントダウン。

T1がONになると、MR2000がRESET、MR2002がSET

MR2002がONになると、T2がカウントダウン。

T2がONになると、MR2002がRESET。

MR2002がOFFになるので、//ランプ運転中に戻る。

停止するときは、R34002をONすると、MR1000がOFFになる。

コメントを残す

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

CAPTCHA