사용자 도구

사이트 도구

English

comfilehmi:hmieditor_susik:index

HMI 변수

ComfileHMI에서 <HMI 변수>는 HMI기기 내부에 위치하는 기억장소를 뜻합니다.

별도의 선언작업이 없어도 어떤 고유한 변수명을 사용하면 바로 사용할 수 있는 상태가 됩니다.

  • 모든 변수는 전역변수이므로, 같은 이름의 변수명이라면, 어떤 화면에서도 참조및 변경이 가능합니다.
  • 변수에는 숫자만 저장가능합니다. (정수및 실수도 저장가능, 큰 수도 저장가능(64비트))
  • 변수명은 대소문자를 구분하며, 한글 사용이 가능합니다.
  • 첫글자는 반드시 문자 또는 언더바이여야 합니다. 숫자로 시작하는 변수명과 중간에 공백이 있는 변수명은 사용할 수 없습니다.
    (좋은예: 모터상태, Motor1)
    (나쁜예: 123abc, 대한 민국) ←- 대한과 민국사이에 공백이 존재
  • 휘발성이므로 전원이 꺼지면 지워집니다.

ComfileHMI Editor 에서 <프로젝트>메뉴의 <사용중인 주소/변수 보기>를 선택하시면 현재까지 사용중인 변수를 한번에 모두 볼 수 있습니다.

HMI 문자열 변수

<HMI 문자열 변수>는 문자열을 기록할 수 있는 HMI기기 내부에 위치하는 기억장소를 뜻합니다.

$로 시작하는 이름을 사용하며, 변수명을 정하는 규칙은 위의 HMI변수와 동일 합니다.

예) $STR1

HMI 내부메모리

HMI 내부메모리란 HMI기기 내부의 특정 메모리영역입니다. HMI 변수와 비슷하지만 주소를 지정할 수 있어서 배열처럼 사용할 수 있습니다.

휘발성이며, 전원이 꺼지면 지워집니다. 번지는 디폴트상태에서 0부터 1023까지 쓸 수 있으며 사용자가 원할경우 더 확장할 수 있습니다. (set_mem_size함수 사용)

  • 예)set_mem_size(20000) - HMI내부 메모리가 20000개로 확장됩니다.
  • 메모리가 확장된 후에는 모든 데이터가 0으로 초기화됩니다.
  • 최대 1,000,000(백만)개 까지 확장가능합니다.

각 번지에 64비트 정수및 실수형 수치를 저장할 수 있습니다.

조건식이나 수식등에서 HMI 내부메모리를 참조하려면 mem(번지)를 사용하세요.

예 : mem(0) > 10   <- 내부메모리 0번지에 저장된 값이 10보다 크면

수식 또는 스크립트에서 set_mem함수를 사용하면, 특정 내부 메모리에 어떤값을 써넣을 수 있습니다.

set_mem(번지,값) : 내부 메모리 특정번지에 값을 기록.

다음과 같이 연속된 번지에 계속 값을 기록할 수도 있습니다.

set_mem(번지,값1,값2,값3….)

주소를 변수로 사용할 수 있습니다.

mem(index)  <-- index 라는 변수에 저장된 값을 주소로 사용


HMI변수, HMI내부메모리의 활용

<HMI변수>, <HMI문자열변수>, <HMI내부 메모리>를 수식및 조건식에서 사용할 수 있습니다.

조건식

조건식은 비교하기 위한 수식입니다.

< ⇐ == >= > != 와 같은 조건 연산자를 사용할 수 있습니다. (C 언어와 동일)
And조건은 &&, Or조건은 || 연산자를 사용하세요.

(사용예)
모터상태 > 1
히터1 == 0 ⇐ 같아야 할 경우
히터1 != 0 ⇐ 달라야 할 경우

수식

+ - * / % 와 같은 산술연산자를 수식을 사용할 수 있습니다.

(사용예) 모터상태 + 1

비트 쉬프트

«, » 비트 쉬프트 연산자를 수식을 사용할 수 있습니다.

(사용예) 모터상태 « 2



사용예

제어 버튼의 <표시및 위치>섹션을 보면 <표시활성화>에 체크가 되어 있습니다. 디폴트상태에서는 항상 표시하도록 되어 있습니다.

<조건식으로 결정>을 체크하면 아래와 같은 화면으로 바뀝니다. 이렇게 되면 해당 제어버튼은 평상시 표시되지 않습니다.

조건식에서 정한 조건이 만족되었을때 화면에 표시됩니다.

아래 예에서는 모터상태라는 변수가 0이 되었을 때 제어버튼이 표시되도록 한것입니다. 다른 오브젝트나 이벤트등에서 <모터상태>라는 변수에 0을 넣으면, 이 버튼이 화면에 나타날 것입니다.

<조건식으로 결정> 이라는 말에서 알 수 있듯이, 반드시 이곳에는 조건식을 써야 합니다.

ComfileHMI 최초 페이지로 가기

comfilehmi/hmieditor_susik/index.txt · 마지막으로 수정됨: 2019/08/09 11:56 저자 Comfile Technology