SendCharactersAndClearString

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.

Parámetros

Entrada

Port (WORD, INT, UINT)

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

bSuppressEndCode (BOOL)

El código de fin de trama seleccionado en los registros del sistema no se añade a la cadena a enviar.

Entrada/salida

sString (STRING)

Almacena la cadena de envío, que se vacía después de la ejecución de la instrucción

Observaciones

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).

Ejemplo

Cabecera de la POU

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

Cuerpo LD

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

Cuerpo en ST

SendCharactersAndClearString(Port := 1,
                bSuppressEndCode := bSuppressEndCode,
                sString := sSendData);

Modificado el: 2022-04-19Comentarios sobre esta páginaLínea directa de Panasonic