시작하기
제어
이 페이지의 내용
  1. 추가
  2. 조건 연산자
  3. 조건 옵션
  4. 우선 순위
  5. 공통 항목과 관리

제어

제어는 알고리즘 블록의 기본 실행 단위이며 조건 영역과 동작 영역으로 구성됩니다. 조건 영역을 만족하면 동작 영역의 동작이 순서대로 실행되고, 모든 동작이 완료되면 다시 조건 영역의 만족 여부를 검사합니다. 하나의 로직에 여러 개의 제어가 있으면 위에서부터 순서대로 실행되며, 마지막 제어가 완료되면 다시 첫 번째 제어부터 실행됩니다.

제어의 조건영역(조건 1, 조건 2)이 만족되면 동작영역의 동작 1, 동작 2가 차례로 실행되고 다시 조건영역으로 돌아가는 순환 도해
제어의 실행 순환입니다. 조건 영역이 만족되면 동작 영역의 동작이 순서대로 실행되고, 끝나면 다시 조건 영역을 검사합니다.

조건 영역에는 조건과 조건그룹을, 동작 영역에는 동작, 동작그룹, 제어를 배치할 수 있습니다. 다단 구조(nested structure)를 지원하므로 하나의 조건이 만족된 다음 상황에 따라 서로 다른 동작을 실행하는 복잡한 구성도 작성할 수 있습니다.

제어의 조건영역에는 조건과 조건그룹, 동작영역에는 동작, 동작그룹, 제어를 놓을 수 있음을 보여 주는 도해
영역별로 배치할 수 있는 블록입니다. 조건 영역에는 조건과 조건그룹, 동작 영역에는 동작, 동작그룹, 제어를 넣습니다.
조건 1 또는 조건그룹 1(조건 2 그리고 조건그룹 2(조건 3 또는 조건 4))이 만족되면 동작, 동작그룹, 제어가 차례로 실행되는 다단 구조 도해
다단 구조의 예입니다. 조건 영역에는 조건그룹을 여러 단계로 중첩하고, 동작 영역에는 동작그룹과 제어를 넣어 실행 흐름을 나눕니다.
제어 안에 제어가 중첩된 구성 예
중첩 제어의 예입니다. 사람이 감지되면(바깥 제어) 자세 판정에 따라(안쪽 제어) 서로 다른 동작이 실행됩니다.

추가

  • 로직이 비어 있으면 우측 상단의 + 추가에서 제어를 선택합니다.
  • 제어그룹 안이나 제어의 동작 영역이 비어 있으면 그 자리에 표시되는 추가 버튼에서 제어를 선택합니다.
  • 로직 바로 아래, 제어그룹 안, 동작 영역에 이미 블록이 있으면 그 블록 위·아래의 + 버튼으로 추가합니다.

조건 연산자

조건 영역에 여러 개의 조건 또는 조건그룹이 있을 때 만족 여부를 계산하는 연산자입니다.

  • 모두 만족: 조건 영역의 모든 조건과 조건그룹을 만족해야 동작이 실행됩니다(AND).
  • 적어도 하나 만족: 조건 영역의 조건과 조건그룹 중 하나 이상을 만족하면 동작이 실행됩니다(OR).

조건 영역에 조건이 하나뿐이면 기본값(모두 만족)을 그대로 둡니다.

조건 연산자가 모두 만족인 제어에서 조건 1, 조건 2, 조건 그룹이 모두 만족 상태로 표시된 도해
모두 만족. 조건 영역의 조건 1, 조건 2, 조건 그룹이 모두 만족되어야 동작이 실행됩니다.
조건 연산자가 적어도 하나 만족인 제어에서 조건 2 하나만 만족 상태로 표시된 도해
적어도 하나 만족. 조건 2 하나만 만족되어도 동작이 실행됩니다.

조건 옵션

조건 영역의 판정 방식에 적용하는 옵션입니다.

  • 없음: 조건이 참이면 만족하고 거짓이면 만족하지 않습니다.
  • 반전: 조건이 참이면 만족하지 않고 거짓이면 만족합니다.
  • 참이 되는 순간: 조건이 거짓에서 참으로 바뀌는 순간에 한 번만 만족합니다. 예) 푸시버튼을 누르는 순간
  • 거짓이 되는 순간: 조건이 참에서 거짓으로 바뀌는 순간에 한 번만 만족합니다. 예) 누른 푸시버튼을 떼는 순간
  • 참이 유지되는 시간: 설정한 유지 시간 동안 조건이 계속 참이면 한 번만 만족합니다. 만족했거나 유지 시간 도중 조건이 거짓이 되면 경과 시간이 0초로 초기화됩니다. 예) 푸시버튼을 3초 동안 누르고 있을 때
  • 참이 되는 횟수: 조건이 거짓에서 참으로 바뀔 때마다 횟수가 1씩 증가하며, 설정한 횟수에 도달하면 한 번만 만족합니다. 만족했거나 타임아웃 시간 안에 만족하지 못하면 횟수가 0으로 초기화됩니다. 예) 푸시버튼을 3번 눌렀을 때

참이 되는 횟수를 선택하면 횟수, 타임아웃 시간과 함께 타임아웃 모드를 설정합니다. 간격 시간은 조건이 참이 되는 순간들 사이의 간격이 타임아웃 시간 이내여야 하고(예: 1초보다 짧은 간격으로 3번 누르기), 전체 시간은 처음 참이 된 순간부터 설정한 횟수를 모두 채울 때까지의 전체 시간이 타임아웃 시간 이내여야 합니다(예: 처음 누른 순간부터 5초 이내에 총 3번 누르기).

선택한 조건 옵션에 따라 다음 항목이 추가로 표시됩니다.

항목표시 조건기본값
유지 시간조건 옵션이 참이 유지되는 시간일 때5초
횟수조건 옵션이 참이 되는 횟수일 때3 (1~65535)
타임아웃 시간조건 옵션이 참이 되는 횟수일 때1초
타임아웃 모드조건 옵션이 참이 되는 횟수일 때간격 시간
알아두기 센서 감지값은 짧은 시간에 참과 거짓을 반복할 수 있습니다. 옵션 없이 사용하면 그때마다 동작이 반복 실행될 수 있으므로, 참이 유지되는 시간 옵션으로 판정을 안정화하는 방법을 권장합니다.

우선 순위

제어가 제어그룹에 포함되어 있고 그룹의 우선 모드가 우선 순위인 경우에 적용할 우선순위를 입력합니다. 해당 사항이 없으면 기본값 1을 그대로 둡니다. 입력 범위는 -32768~32767이며 숫자가 작을수록 우선순위가 높습니다.

공통 항목과 관리

사용, 이름, 역순으로 실행 항목은 로직과 동일하게 동작합니다. 사용하지 않는 제어는 실행되지 않으며, 이름은 임의로 입력할 수 있습니다. 드래그 앤 드롭으로 이동하고 마우스 우클릭 메뉴에서 편집, 복제, 복사, 잘라내기, 삭제합니다. 제어를 삭제하면 포함된 모든 블록이 함께 삭제되며 복구할 수 없습니다. 자세한 조작 방법은 블록 공통 조작을 참고합니다.