====== 위젯이란? ====== 화면 오른쪽에 있는 제어 버튼, 램프등을 <위젯>라고 부릅니다. {{ :comfilehmi:destination:objectlist.png?nolink |}} ====== 목적지 ====== 위젯은 목적지와 연결 할 수 있습니다. 2종류의 목적지가 있습니다. {{ :comfilehmi:destination:internal_external.png?nolink |}} ---- ====== 내부 영역 ====== HMI (또는 PC) 내부에 위치하는 기억장소입니다. 휘발성이므로 전원이 꺼지면 보존되지 않습니다. (랜덤 값이 됩니다.) ===== 내부 변수 ===== <내부 변수>는 별도의 선언작업이 없어도 어떤 고유한 변수명을 사용하면 바로 사용할 수 있는 상태가 됩니다. * 모든 내부 변수는 전역변수이므로, **같은 이름의 이름**이라면, 모든 화면에서도 참조및 변경이 가능합니다. * 내부 변수에는 정수및 실수를 저장할 수 있습니다.(최대 64비트) * 내부 변수명은 대소문자를 구분하며, 한글 사용이 가능합니다. * 첫글자는 반드시 문자 또는 언더바이여야 합니다. 숫자로 시작하는 이름과 중간에 공백이 있는 이름은 사용할 수 없습니다. \\ (좋은예: 모터상태, Motor1) \\ (나쁜예: 123abc, 대한 민국) <-- 대한과 민국사이에 공백이 존재 ===== 내부 메모리 ===== 내부 메모리란 HMI(또는 PC) 내부의 특정 메모리 영역입니다. 내부 변수와 비슷하지만 번지를 지정할 수 있어서 배열처럼 사용할 수 있습니다. {{ :comfilehmi:destination:arrayexplain.png?nolink |}} 번지는 디폴트상태에서 0부터 1023까지 쓸 수 있으며 사용자가 원할경우 더 확장할 수 있습니다. (set_mem_size함수 사용) * 예)set_mem_size(20000) - 내부 메모리가 20000개로 확장됩니다. * 메모리가 확장된 후에는 모든 데이터가 0으로 초기화됩니다. * 최대 1,000,000(백만)개 까지 확장가능합니다. 각 번지에 64비트 정수및 실수형 수치를 저장할 수 있습니다. 조건식이나 수식등에서 내부 메모리를 참조하려면 mem(번지)를 사용하세요. 예 : mem(0) > 10 <- 내부 메모리 0번지에 저장된 값이 10보다 크면 수식 또는 스크립트에서 set_mem함수를 사용하면, 특정 내부 메모리에 어떤값을 써넣을 수 있습니다. set_mem(번지,값) : 내부 메모리 특정번지에 값을 기록. 다음과 같이 연속된 번지에 계속 값을 기록할 수도 있습니다. set_mem(번지,값1,값2,값3….) 내부 변수를 번지로 사용할 수 있습니다. mem(index) <-- index 라는 내부 변수에 저장된 값을 번지로 사용 또한 내부 메모리에 문자열도 저장할 수 있습니다. \\ ---- ====== 수식 / 조건식 ====== <내부 변수>, <내부 메모리>, <시스템 함수>를 수식및 조건식에서 사용할 수 있습니다. ===== 조건식 ===== 조건식은 비교하기 위한 수식입니다. 다음과 같은 비교 연산자를 쓸 수 있습니다. (C언어와 동일) < <= == >= > != && || 사용예입니다. 모터상태 > 1 히터1 == 0 히터1 != 0 ===== 산술 연산자 ===== + - * / % 와 같은 산술연산자를 수식을 사용할 수 있습니다. 모터상태 + 1 ===== 비트 쉬프트 ===== <<, >> 비트 쉬프트 연산자를 수식을 사용할 수 있습니다. 모터상태 << 2 [[comfilehmi:index#화면편집|상위 페이지로 가기]]