WORD를 STRING으로 변환
WORD_TO_STRING 펑션은WORD 데이터 형식의 값을 STRING 데이터 형식의 값으로 변환합니다.
오른쪽으로 정렬된 10진수 형식의 결과 문자열이 생성됩니다. 이 결과 문자열의 선행 스페이스는 사전 정의된 최대 문자수로 채워집니다.
입력
출력
FP-e 또는 FP0와 같이 값이 작은 PLC가 있는 STRING 데이터 형식을 사용하는 경우, 결과 문자열의 길이가 소스 문자열의 길이와 같거나 큰 지 확인하십시오.
입력 |
정의된 출력 |
결과 |
---|---|---|
16#ABCD |
STRING[1] |
'D' |
STRING[2] |
'CD' |
|
STRING[3] |
'BCD' |
|
STRING[4] |
'ABCD' |
|
STRING[5] |
'0ABCD' |
|
STRING[6] |
'00ABCD' |
|
등등 |
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
input_value: WORD:=0;
result_string: STRING;
WORD 데이터 형식의 input_value 입력 변수는 16#ABCD 값으로 초기화됩니다. result_string 출력 변수는 STRING[6] 데이터 형식의 출력 변수입니다. 최대 6문자를 저장할 수 있습니다. input_value 변수를 사용하지 않고 본문에서 기능 입력 정수에 직접 정수를 입력할 수 있습니다.
WORD 데이터 형식의 input_value가 STRING[6]로 변환됩니다. 변환된 값은 result_string에 작성됩니다. input_value 변수 값이 16#ABCD이면 result_string에 '00ABCD'가 표시됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 2 ;
NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string,21,0,23,2,);
L(1,0,1,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:=WORD_TO_STRING(input_value);
이 예에서는 문자열 '16#'의 앞 부분이 잘린 WORD 데이터 형식 밖에서 STRING[4]을 만드는 방법을 보여줍니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
input_value: WORD:=16#1234;
(*example value*)
result_string1: STRING[7]:='';
(*result: here '0001234'*)
result_string: STRING[4]:='';
(*result: here '1234'*)
END_VAR
이 예에서는 WORD 데이터 형식의 input_value 입력 변수와 STRING[4] 데이터 형식의 result_string 출력 변수 모두 선언됩니다.
질문 동작을 실행하면 RIGHT 표준 기능은 WORD_TO_STRING 기능에 연결됩니다. RIGHT는 L 길이의 오른쪽으로 정렬된 문자열을 만듭니다.
이 예에서, WORD_TO_STRING 기능의 출력 문자열은 RIGHT 기능의 입력에 추가됩니다. RIGHT의 L 입력에서, INT 정수 4는 교체할 문자열의 길이를 결정합니다. 변수 input_value = 0001234 중에서, result_string 1234는 데이터 유형 변환 및 RIGHT 펑션의 결과입니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 2 ;
NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string1,21,0,23,2,);
L(1,0,1,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,result_string1,10,2,12,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,RIGHT!,Instance,12,1,17,5,,?DIN?DL?C);
B(B_VARIN,,4,10,3,12,5,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY