사용자 도구

사이트 도구

English

comfilehmi:hmieditor_string:index

문자열 관련기능

ComfileHMI 에서는 문자열을 기록/표시할 수 있는 일련의 기능을 제공하고 있습니다.

문자열이란?

유니코드의 집합을 뜻하며, 맨끝에는 반드시 0이 위치해야 합니다. 한 문자당 1워드가 필요합니다. 예를들어 'ABC'문자열의 경우 0x0041, 0x0042, 0x0043, 0x0000 이렇게 4 워드로 구성된 데이터집합을 의미합니다.

외부장치에 문자열 기록하기

제어보턴을 눌렀을때, 외부장치에 문자열을 기록하는 방법입니다. 제어버튼의 속성창에서 아래와 같이 선택하세요.

목적지 종류를 <문자열 주소>로 하고, 저장할 주소를 40003으로 했습니다. 그리고 출발지 종류는 <텍스트 직접 지정>, 기록할 내용에 'COMFILE'이라고 적었습니다. 이렇게 하면 버튼을 터치했을때, PLC1의 40003주소부터 COMFILE이라는 문자열이 저장됩니다.

40003 : 'C'
40004 : 'O'
40005 : 'M'
40006 : 'F'
40007 : 'I'
40008 : 'L'
40009 : 'E'
40010 : 0

실제로는 40003 부터 40010까지 총 8 워드에 해당문자의 유니코드가 각각 기록됩니다.

HMI 메모리에 문자열 기록하기

외부장치가 아닌 HMI 메모리에도 문자열을 기록할 수 있습니다. HMI 메모리란 HMI 내부에 있는 별도의 기억공간입니다. 아래와 같이 설정한다면 외부장치에 기록하듯이 HMI 메모리에도 문자열을 저장할 수 있습니다.

HMI 메모리 시작주소를 0으로 했으므로, 버튼 터치시 아래와 같이 0번지부터 문자열이 기록됩니다.

0 : 'C'
1 : 'O'
2 : 'M'
3 : 'F'
4 : 'I'
5 : 'L'
6 : 'E'
7 : 0

HMI 문자열 변수

<HMI 문자열 변수>를 사용하여 문자열 하나를 보관할 수 있습니다.<HMI 문자열 변수>는 HMI에 있는 기억공간이며 수치만 저장할 수 있는 <HMI 변수>와는 다른 기억공간입니다.

HMI 문자열 변수명은 반드시 $로 시작해야하며, 대소문자를 구분합니다. 한글도 사용할 수 있습니다.예를들면 $str1 이라는 HMI 문자열 변수에 '아름다운우리나라'라는 문자열 하나를 전부 할당할 수 있다는 뜻입니다.

외부장치에 HMI 문자열 변수 기록하기

아래와 같이 설정하면, 외부장치에 HMI 문자열변수의 값을 저장할 수 있습니다.

버튼 터치시 $str1 HMI 문자열 변수의 내용이 PLC1:40003번지부터 기록됩니다.

HMI 문자열변수에 문자열 기록하기

스크립트의 따옴표를 이용해서 HMI 문자열 변수에 문자열을 할당할 수 있습니다.

멀티액션 버튼에서 액션을 하나 추가하세요.

<스크립트>를 선택한뒤 아래와같이 입력하면, 버튼 터치시 $str1 HMI 문자열 변수에 “아름다운우리나라” 문자열이 저장됩니다.

스크립트에서 아래와 같은 문자열 관련 수식도 사용할 수 있습니다.

$a=$b  :  $b내용을 $a로 복사
$a=$b+$c  :  $b와 $c을 붙여서 $a에 복사합니다. 즉, "COM"+"FILE"은 "COMFILE"이 됩니다.
$a="korea"+$b : 직접 입력한 문자열과 HMI문자열변수의 내용을 합침.

아래와 같은 수식은 잘못된 사용예입니다.

$a=3  : 숫자는 HMI 문자열변수에 할당할 수 없습니다.
a="b" : HMI변수에 문자열을 할당할 수 없습니다.
$a=$b+2 : 숫자와 HMI 문자열변수는 서로 합칠수 없습니다.

문자열 관련 함수

  • text_to_num(문자열) : 문자열을 넣으면 수치값을 반환.
    (예) “32.1”을 넣으면 32.1이 반환됨
  • num_to_text_int(수치) : 수치값을 넣으면 정수형태의 텍스트를 반환
    (예) 32.1을 넣으면 “32”가 반환됨
  • num_to_text_int(수치,자리수) : 수치값을 넣으면 자리수가 고정된 정수형태의 텍스트를 반환
    (예) 32.1과 4를 넣으면 “0032”가 반환됨
  • num_to_text_hex(수치) : 수치값을 넣으면 16진수형태의 텍스트를 반환
    (예) 10.1을 넣으면 “A”가 반환됨
  • num_to_text_hex(수치,자리수) : 수치값을 넣으면 자리수가 고정된 16진수 형태의 텍스트를 반환
    (예) 10.1과 4를 넣으면 “000A”가 반환됨
  • num_to_text_dec(수치,소수자리수) : 수치값을 넣으면 특정 소수자리수를 가진 실수 텍스트를 반환
    (예) 10.3과 4를 넣으면 “10.3000”이 반환됨

HMI 문자열변수를 화면에 표시하기

멀티액션에서 HMI문자열변수 제어

멀티액션의 액션중 <HMI문자열 변수 제어>가 있습니다. 문자열 변수에 문자열을 대입하거나, 삽입/삭제/형변환등의 액션을 수행할 수 있습니다.

아래 링크중 <HMI 문자열 변수 제어>부분을 참조하세요.

멀티액션이란?

ComfileHMI 최초 페이지로 가기

comfilehmi/hmieditor_string/index.txt · 마지막으로 수정됨: 2019/10/26 11:52 저자 Comfile Technology