FP_SMTP_GET_EMAIL_TEXT

Obtener el texto de correo electrónico

Esta instrucción FP lee los textos de correo electrónico predefinidos del número especificado por nTransferID y escribe el texto en la variable de salida sBodyText.

Parámetros

Entrada

nTransferID (WORD, INT, UINT)

Establecer el ID de ajuste de transferencia.

Valores: 0–15

Salida

sBodyText (STRING)

Guarda el texto de correo electrónico predefinido

bError (BOOL)

Pasa a TRUE cuando la operación termina anormalmente.

Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Observaciones

  • Esta instrucción no está disponible en los programas de interrupción.

  • Antes de ejecutar la instrucción, necesita especificar los ajustes de transmisión de correo electrónico utilizando FP_SMTP_SET_MODE o el diálogo de configuración del cliente SMTP.

  • Esta instrucción lee el texto de correo electrónico que se ha especificado en el diálogo de configuración del cliente SMTP. Si no se ha especificado ningún texto de correo electrónico, no se puede leer y se guarda un cero en sBodyText.

  • Antes de ejecutar la instrucción, necesita especificar la configuración de correo electrónico del grupo y evento utilizando FP_SMTP_SET_GROUP o el diálogo de configuración del cliente SMTP.

  • Antes de ejecutar la instrucción, comprobar FP_CLIENT_STATUS_DUT para ver si hay una solicitud activa de envío de correo electrónico If bIsTransferRequested is TRUE cuando se ejecuta la instrucción, se produce un error de operación.

  • Antes de ejecutar la instrucción, asegurarse de que sys_bIsEthernetInitializing es FALSE. sys_bIsEthernetInitializing pasa a TRUE cuando se ejecuta la instrucción. Cuando ejecuta la instrucción mientras sys_bIsEthernetInitializing es TRUE, se produce un error.
  • Cuando esta instrucción se ha ejecutado con éxito, las variables del sistema sys_bIsCarry y sys_iEthernetConnectionErrorCode se reinician.

  • Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • si el área especificada utilizando el modificador índice supera el límite.

  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • si la instrucción se ejecuta en un programa de interrupción.

  • Si la bandera de solicitud de transmisión de correo electrónico para la configuración de transferencia especificada es "TRUE: Transferencia solicitada".

  • Si se especifica un ajuste de transmisión de correo electrónico que no ha sido configurado con la instrucción FP_SMTP_SET_MODE o con el diálogo de configuración del cliente SMTP.

  • Si se especifica un número de grupo destino que no ha sido definido con la instrucción FP_SMTP_SET_GROUP o con el diálogo de configuración del cliente SMTP.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si el área especificada utilizando el modificador índice supera el límite.

  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • si la instrucción se ejecuta en un programa de interrupción.

  • Si la bandera de solicitud de transmisión de correo electrónico para la configuración de transferencia especificada es "TRUE: Transferencia solicitada".

  • Si se especifica un ajuste de transmisión de correo electrónico que no ha sido configurado con la instrucción FP_SMTP_SET_MODE o con el diálogo de configuración del cliente SMTP.

  • Si se especifica un número de grupo destino que no ha sido definido con la instrucción FP_SMTP_SET_GROUP o con el diálogo de configuración del cliente SMTP.

sys_bIsCarry (pasa a TRUE para un ciclo de scan)
  • si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".

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
		bRequest: BOOL:=FALSE;
		bError: BOOL:=FALSE;
		iID8: INT:=8;
		sEmailText: STRING[32]:='Hello World!';
	END_VAR

Cuerpo de la POU

Si bRequest cambia de FALSE a TRUE y sys_bIsEthernetSMTPClientReady está a TRUE, se ejecuta la instrucción.

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_CONTACT,,bRequest,4,1,6,3,R);
B(B_VARIN,,iID8,23,2,25,4,);
B(B_VAROUT,,bError,39,3,41,5,);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
B(B_F,FP_SMTP_GET_EMAIL_TEXT!,,25,0,39,5,,?DEN?DnTransferID?AENO?CsBodyText?CbError);
B(B_VAROUT,,sEmailText,39,2,41,4,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If DF(bRequest) AND sys_bIsEthernetSMTPClientReady then
    FP_SMTP_GET_EMAIL_TEXT(nTransferID := iID8,
                           sBodyText => sEmailText,
                           bError => bError);
END_If;

Modificado el: 2024-03-07Comentarios sobre esta páginaLínea directa de Panasonic