马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个跑马灯小程序
PROGRAM PLC_PRG
VAR
Start: BOOL;//开始
TON_0: TON;
TON_1: TON;
TON:ARRAY[0..1] OF POINTER TO TON;
val:INT := 0;
TON_i: INT := 0;
END_VAR
TON[0] := ADR(TON_0);
TON[1] := ADR(TON_1);
IF Start THEN
TON_0(IN:= , PT:= T#500MS, Q=> , ET=> );
TON_1(IN:= , PT:= T#800MS, Q=> , ET=> );
TON[TON_i]^.IN := TRUE;
IF TON_0.Q THEN
val := val + 1 ;
TON[TON_i]^.IN := FALSE;
END_IF
IF TON_1.Q THEN
val := val - 1 ;
TON[TON_i]^.IN := FALSE;
END_IF
IF TON_0.Q OR TON_1.Q THEN
CASE val OF
0: TON_i := 1 - TON_i;
1: %QX0.0 := NOT %QX0.0;
2: %QX0.1 := NOT %QX0.1;
3: %QX0.2 := NOT %QX0.2;
4: %QX0.3 := NOT %QX0.3;
5: %QX0.4 := NOT %QX0.4;
6: %QX0.5 := NOT %QX0.5;
7: %QX0.6 := NOT %QX0.6;
8: %QX0.7 := NOT %QX0.7;
9: %QX1.0 := NOT %QX1.0;
10: %QX1.1 := NOT %QX1.1;
11: %QX1.2 := NOT %QX1.2;
12: %QX1.3 := NOT %QX1.3;
13: %QX1.4 := NOT %QX1.4;
14: %QX1.5 := NOT %QX1.5;
15: %QX1.6 := NOT %QX1.6;
16: %QX1.7 := NOT %QX1.7;
17: TON_i := 1 - TON_i;
END_CASE
END_IF
END_IF
|