반응형
IF myBoolF = 1 THEN
CASE flag OF
0: count := 1; flag := 1;
1: count := 0;
END_CASE;
END_IF;
IF myBoolB = 1 THEN
CASE flag OF
0: count := 2; flag := 1;
1: count := 0;
END_CASE;
END_IF;
IF myBoolL = 1 THEN
CASE flag OF
0: count := 3; flag := 1;
1: count := 0;
END_CASE;
END_IF;
IF myBoolR = 1 THEN
CASE flag OF
0: count := 4; flag := 1;
1: count := 0;
END_CASE;
END_IF;
IF myBoolSY = 1 THEN
CASE flag OF
0: count := 5; flag := 1;
1: count := 0;
END_CASE;
END_IF;
IF myBoolST = 1 THEN
flag := 0;
CASE flag OF
0: count := 6; flag := 1;
1: count := 0;
END_CASE;
END_IF;
BoolSum := myBoolF + myBoolB + myBoolL + myBoolR + myBoolSY + myBoolST;
CASE BoolSum OF
0: flag := 0;
END_CASE;
//wxGlade의 ui 버튼값을 가져오는 곳입니다
// 각 버튼마다 아이디 값들이 있고 이 아이디 값에 해당하는 IF문을 통해 count변수에 0부터 6값을 담게 됩니다
// 버튼이 토글 버튼인 관계로 한번 count에 값이 담긴후 바로 0으로 바꾸기 위한 코딩 내용 입니다
CASE inPut OF
0: L_RPM := L_RPM; R_RPM := R_RPM;
1: L_RPM := L_RPM + 15; R_RPM := R_RPM - 15;
2:
IF L_RPM > 0 THEN
L_RPM := L_RPM - 15;
END_IF;
IF R_RPM < 0 THEN
R_RPM := R_RPM + 15;
END_IF;
3:
IF L_RPM > 0 THEN
L_RPM := L_RPM - 15;
END_IF;
4:
IF R_RPM < 0 THEN
R_RPM := R_RPM + 15;
END_IF;
5:
IF -R_RPM > L_RPM THEN
L_RPM := -R_RPM;
ELSE
R_RPM := -L_RPM;
END_IF;
6: R_RPM := 0; L_RPM := 0;
END_CASE;
// 각 버튼 별로 15이 더해지거나 15이 줄어들고 정지일 경우에는 0으로 뀝니다
// 왼쪽 오른쪽인 경우에는 15씩 줄게 코딩 되어 있습니다
//
반응형