ラダー脳から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になる。