안녕하세요...ㅡㅠㅡ/
지금 열심히(?) QUEST를 공부하고 있습니다.....
SCL을 작성하다 보니 의문이???
SCL에서 Block Function인 wait , delay, work 등을 이용할 때, 연산자인( Operator Precedence) AND, OR, 등은 사용할 수 없나요??;;
ex
wait until signal 1 AND signal 2
만약 불가능하다면,,, 이런 연산자를 사용가능하게하는.....block fuction을 좀 가르쳐 주시면 감사...ㅡㅡa
조사(?)에 의하면 AND와 OR을 사용하실 수 있습니다.
ex) WAIT UNTIL (celem->my_status == 1 AND VARIABLE1 == 2).
단 예외로 Signal의 경우는 wait until에서 AND, OR과 같은 연산자와 함께 사용하실 수 없다고 하네요...
따라서 만약 사용하려고 한다면, wait until에 관한 새로운 procedure를 생성하셔야 합니다.
ex01) - 단일 예제
---------------------------------------------------
procedure my_wait_until()
begin
wait until signal MY_SIGNAL1 ON
while (TRUE) do
.....
endwhile
end
---------------------------------------------------
ex02) - main logic과 분리
---------------------------------------------------
procedure my_wait_until()
begin
wait until signal MY_SIGNAL1 ON
while (TRUE) do
if (1 == 2) then
BREAK
endif
delay 10
endwhile
end
---------------------------------------------------
procedure main_program()
begin
... do something ...
my_wait_until()
... do something ...
end
---------------------------------------------------