====== CASE 명령문 ======
중첩 된 IF 문과 비교하여 CASE를 사용할 때의 장점은 하나의 동일한 조건 테스트과 관련된 다양한 결과를 일목요연하게 정리할 수 있다는 것입니다. 사용법은 다음과 같습니다.
CASE 조건식 OF
값1: 명령문_A;
값2: 명령문_B;
값3, 값4, 값6: 명령문_C;
값7.. 값12: 명령문_D;
:
값N: 명령문_X;
ELSE
다른명령문;
END_CASE;
* <조건식> 값이 <값1>이면 명령문_A가 실행됩니다. <값2>이면 명령문_B이 실행됩니다.
* <조건식>은 단일 변수또는 산술식을 써도 됩니다. (이때 결과는 정수값이 됩니다. 실수 아님! 주의요망)
* 각 결과에 대해 여러 명령을 실행할 수 있습니다.
* <조건식>이 나열된 <값x>와 일치하는게 하나도 없으면 ELSE 뒤에 오는 <다른명령문>이 실행됩니다.
다음은 다양한 사용예입니다.
CASE %MW1 OF
1: %QX2.0 := TRUE;
2: %QX2.1 := TRUE:
3..5: %QX2.2 := TRUE;
END_CASE;
CASE A ‐ B OF
4:Out := TRUE;
7:IF B>0 THEN Result := %MW5;
ELSE Result := %MW4;
END_IF;
END_CASE;
RE(clk := PhotoSwitch, Q => New_item); (* A product is in place *)
IF New_item THEN
CASE Color OF (* Checks color *)
Green: Piston1 := TRUE;
Green_count := Green_count + 1;
Red : Piston2 := TRUE;
Red_count := Red_count + 1;
Blue : Piston3 := TRUE;
Blue_count := Blue_count + 1;
ELSE
Error_count := Error_count + 1;
END_CASE;
END_IF;
[[codesysmanual:index|CODESYS]]