Transmisión de caracteres y borrado de la cadena
Esta instrucción ejecuta la instrucción de transmisión de datos F159_MTRN. Los datos se almacenan en la cadena de envío conectada en sString, que es una variable de tipo VAR_IN_OUT. Si bSuppressEndCode está a TRUE, el código de fin de trama seleccionado en los registros del sistema no se añade a la cadena a enviar.
Al contrario que SendCharacters, internamente no se utiliza ningún buffer de envío adicional. El contenido de la variable conectada en sString se borra después de la ejecución.
Entrada
Especificar los puertos de comunicación (dependiendo del tipo de PLC):
Puerto COM, por ejemplo SYS_COM0_PORT
Puerto Ethernet, por ejemplo SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU por ejemplo 16#xx01 (xx = número de slot) en COM01
El código de fin de trama seleccionado en los registros del sistema no se añade a la cadena a enviar.
Entrada/salida
Almacena la cadena de envío, que se vacía después de la ejecución de la instrucción
Cuando se ha enviado el número de bytes especificado, la bandera de "transmisión completa" pasa a TRUE. Se pueden enviar o recibir nuevos datos. Cualquier instrucción de envío pone la bandera "transmisión completa" a FALSE y no se pueden recibir datos. La evaluación de la bandera de "transmisión completa" puede ser útil en los casos en los que no se espera respuesta, por ejemplo, en los mensajes de difusión (broadcast).
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
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);