Solicitud de transferencia SMTP
Esta instrucción FP solicita al cliente SMTP que envíe un correo electrónico y transfiera los datos especificados por nTransferID.
Entrada
Establecer el ID del cliente SMTP
Valores: 0–15
Salida
Pasa a TRUE bajo las siguientes condiciones:
si se supera el tiempo de espera de la conexión
si la dirección IP no es válida
Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.
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.
Antes de ejecutar la instrucción, comprobar si la variable del sistema sys_bIsEthernetSMTPClientReady es TRUE. Si es FALSE al ejecutar la instrucción, se producirá un error.
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.
La instrucción solo puede ejecutarse cuando sys_bIsEthernetCableNotConnected es FALSE.
La instrucción solo puede ejecutarse cuando la bandera de solicitud de transferencia para el ajuste de transferencia especificado es "FALSE: Ninguna solicitud de transferencia". Cuando la bandera de solicitud de transferencia es "TRUE: Transferencia solicitada", se produce un error de operación.
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.
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 variable del sistema sys_bIsEthernetSMTPClientReady es FALSE cuando se ejecuta la instrucció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 el envío de correos electrónicos está desactivado, es decir, si el identificador bIsTransmissionBlocked de FP_CLIENT_STATUS_DUT es 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 variable del sistema sys_bIsEthernetSMTPClientReady es FALSE cuando se ejecuta la instrucció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 el envío de correos electrónicos está desactivado, es decir, si el identificador bIsTransmissionBlocked de FP_CLIENT_STATUS_DUT es TRUE.
Si la instrucción se ejecuta mientras el cable Ethernet está desconectado. sys_iEthernetConnectionErrorCode pasa a "10: Cable Ethernet desconectado".
si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".
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
iID10: INT:=10;
bTransferRequestError: BOOL:=FALSE;
bTransferRequest: BOOL:=FALSE;
END_VAR
Si bTransferRequest cambia de FALSE a TRUE, y la variable del sistema sys_bIsEthernetSMTPClientReady está a TRUE, se ejecuta la instrucción. Se solicita la transferencia SMTP para la unidad Ethernet 10.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bTransferRequest,4,1,6,3,R);
B(B_VARIN,,iID10,23,2,25,4,);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_F,FP_SMTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if DF(bTransferRequest) AND sys_bIsEthernetSMTPClientReady then
FP_SMTP_TRANSFER_REQUEST(nTransferID := iID10,
bError => bTransferRequestError);
End_if;