문자 전송 및 문자열 삭제
이 명령은 데이터 전송 명령 F159_MTRN을 실행합니다. 데이터는 VAR_IN_OUT 변수인 sString에 적용된 보내기 문자열에 포함되어 있습니다 . bSuppressEndCode가 TRUE로 설정되면 시스템 레지스터에서 선택한 종료 코드는 전송 문자열에 추가되지 않습니다.
SendCharacters와는 달리, 내부적으로는 사용되는 추가 전송 버퍼가 없습니다. sString에 적용된 변수가 실행 후 삭제됩니다.
입력
PLC 기종에 따라 통신 포트를 지정합니다.
COM 포트(예: SYS_COM0_PORT)
이더넷 포트(예: SYS_ETHERNET_USER_CONNECTION_1)
MCU/SCU(예: COM01의 16#xx01(xx = 슬롯 번호))
시스템 레지스터에서 선택한 종료 코드는 전송 문자열에 추가되지 않습니다.
입력/출력
명령 실행 후 삭제되는 전송 문자열을 저장합니다
지정된 바이트 수가 전송되면 "transmission done" 플래그는 TRUE로 전환됩니다. 새 데이터를 전송 또는 수신할 수 있습니다. 모든 전송 명령은 "transmission done" 플래그를 FALSE로 전환하고 데이터를 수신할 수 없습니다. "transmission done" 플래그 평가는 응답을 기대할 수 없는 경우(예: 브로드캐스트 메시지)에 유용할 수 있습니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
sSendData: STRING[30]:='ABCDEFGH';
(*up to 30 chars*)
bSuppressEndCode: BOOL:=FALSE;
END_VAR
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,SendCharactersAndClearString!,,14,0,29,5,,?DPort?DbDSuppressEndCode?DsString?AsString);
B(B_VARIN,,1,12,1,14,3,);
B(B_VARIN,,sSendData,12,3,14,5,);
B(B_VARIN,,bSuppressEndCode,12,2,14,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
SendCharactersAndClearString(Port := 1,
bSuppressEndCode := bSuppressEndCode,
sString := sSendData);