컨텐츠로 건너뛰기

사각형(채우기) 예제

예제: 물탱크 채우기 및 배수하기

사각형(채우기) 구성

  1. 총 5개의 태그를 생성합니다. 첫 번째 태그의 이름은 "Fill"로 설정하고 BOOL 태그로 설정합니다. 두 번째 태그는 "Fill Percent"로 이름 짓고 INT16 태그로 설정합니다. 세 번째 태그는 "Status"로 이름 짓고 문자열 태그로 설정합니다. 기본 값은 '#00FF00'으로 설정합니다. 네 번째 태그는 "ON"으로 이름 짓고 BOOL 태그로 설정합니다. 다섯 번째 태그는 "Drain"으로 이름 짓고 BOOL 태그로 설정합니다. 각 태그의 초기 값을 아래와 같이 설정합니다.

  1. 사각형(채우기) 객체를 생성합니다. "Fill Percent" 태그를 기본 속성 탭의 에 연결하고, "Status" 태그를 형태 탭의 채우기 매개변수에 연결합니다.

  1. 3개의 스위치/램프 객체를 생성합니다. 첫 번째 객체에는 "ON" 태그를, 두 번째 객체에는 "Fill" 태그를, 세 번째 객체에는 "Drain" 태그를 연결합니다.

  1. 스크립트를 생성합니다. 도구 -> 스크립트 편집기를 클릭하여 스크립트 편집기를 엽니다. 새로 만들기를 클릭하여 새 스크립트를 생성합니다. 스크립트 이름을 "Fill Tank"로 설정하고 확인을 클릭합니다. 이 스크립트는 수동 스크립트여야 하며, 다음 코드를 복사하여 붙여 넣습니다.
tag.write("ON", !tag.read("ON"));
thread.msleep(100);
while(tag.read("ON")){	
	if(tag.read("Fill")){
		if(tag.read("Fill Percent") < 100){
		tag.write("Fill Percent", tag.read("Fill Percent") + 1);
		}
	}
	else if(tag.read("Drain")){
		if(tag.read("Fill Percent") > 0){
			tag.write("Fill Percent", tag.read("Fill Percent") - 1);
		}
	}
	if(tag.read("Fill Percent") < 79){
		tag.write("Status", "#00FF00");
	}
	else if(tag.read("Fill Percent") >= 79 && tag.read("Fill Percent") < 89){
		tag.write("Status", "#FFFF00");
	}
	else if(tag.read("Fill Percent") >= 89){
		tag.write("Status", "#FF0000");
		}
	thread.msleep(300);
}
  1. "ON" 태그에 연결된 스위치/램프 객체에서 동작 탭으로 이동합니다. 누를 때: 동작에서 "스크립트 호출" 명령을 생성합니다. 목록에서 "Fill Tank" 스크립트를 선택하고 확인을 클릭합니다.

  1. 나머지 두 개의 스위치/램프 객체에 대해 각각 연결된 태그를 토글하는 동작을 생성합니다.

사각형(채우기) 실행

  1. 도구 -> 시뮬레이터 실행을 클릭하여 Canvas 시뮬레이터를 시작합니다.

  1. ON 스위치/램프를 토글합니다. 이 스위치를 토글한 후 Fill 스위치/램프를 토글합니다. 그러면 사각형(채우기)의 증수가 시작합니다. 물탱크의 채움 정도에 따라 사각형(채우기)이 노란색과 빨간색으로 변경됩니다.

  1. 탱크가 가득 차면, Fill 스위치/램프를 끄고 Drain 스위치/램프를 토글합니다. 그러면 사각형(채우기)의 배수가 시작합니다. 물탱크의 채움 정도에 따라 사각형(채우기)이 노란색과 초록색으로 변경됩니다.

  1. ON 스위치/램프를 토글하여 탱크의 증수나 배수를 멈춥니다. 그러면 사각형(채우기)의 증수나 배수가 중지됩니다.