BOOL을 STRING으로 변환
BOOL_TO_STRING 펑션은BOOL 데이터 형식의 값을 STRING[2] 데이터 형식의 값으로 변환합니다. 결과 문자열은 '0' 또는 '1'로 나타납니다.
입력
출력
FP-e 또는 FP0와 같이 값이 작은 PLC가 있는 STRING 데이터 형식을 사용하는 경우, 결과 문자열의 길이가 소스 문자열의 길이와 같거나 큰 지 확인하십시오.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
input_value: BOOL:=FALSE;
result_string: STRING;
END_VAR
BOOL 데이터 형식의 input_value 입력 변수는 TRUE 값으로 초기화됩니다. result_string 출력 변수는 STRING[2] 데이터 형식의 출력 변수입니다. 최대 두 문자를 저장할 수 있습니다. 문자 하나 이상이 있는 문자열을 선언할 수 있습니다(예: STRING[5]). 예약된 5문자에서 2문자만 사용됩니다.
input_value 변수를 사용하지 않고 본문에서 기능 입력 정수에 직접 정수 TRUE 또는 FALSE를 쓸 수 있습니다.
BOOL 데이터 형식의 input_value가 STRING[2]로 변환됩니다. 변환된 값은 result_string에 작성됩니다. input_value 변수가 TRUE이면 result_string에 '1'이 표시됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,BOOL_TO_STRING!,Instance,9,1,19,3,,?D?C);
B(B_VARIN,,input_value,7,1,9,3,);
B(B_VAROUT,,result_string,19,1,21,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF Boolean_value then
output_value:=BOOL_TO_STRING(input_value);
END_IF;
' 0' 또는 ' 1'이 아닌 'TRUE' 또는 'FALSE'로 결과를 얻으려는 경우, BOOL_TO_STRING 기능을 사용할 수 없습니다. 이 예에서는 BOOL 데이터 형식의 입력 값에서 'TRUE' 또는 'FALSE' 문자가 포함된 STRING[5]를 만드는 방법을 보여줍니다.이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
input_value: BOOL:=TRUE;
(*example value*)
result_string: STRING[5]:='';
(*result: here TRUE*)
@'': @'';
@'': @'';
END_VAR
이 예에서는 BOOL 데이터 형식의 input_value 입력 변수와 STRING[5] 데이터 형식의 result_string 출력 변수 모두 선언됩니다.
원하는 작업을 실현하기 위해 MOVE 표준 기능이 사용됩니다. 해당 입력 값을 변경되지 않는 해당 출력에 할당합니다. 입력에서 STRING 정수 'TRUE' 또는 'FALSE'가 연결됩니다. 본질적으로 활성화된 입력(EN) 정수의 부울 변수 input_variable이 STRING의 출력을 결정하면 "BOOL to STRING" 변환이 발생합니다.
BODY
WOKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORRKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_CONTACT,,input_value,3,1,5,3,);
B(B_F,E_MOVE!,Instanz,11,0,17,4,,?DEN?D?AENO?C);
B(B_VARIN,,'TRUE',9,2,11,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,E_MOVE!,Instanz,11,4,17,8,N,?DEN?D?AENO?C);
B(B_VARIN,,'FALSE',9,6,11,8,);
B(B_VAROUT,,result_string,17,6,19,8,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,8);
L(6,2,6,6);
L(6,6,11,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY