FP_SMTP_SET_GROUP

Establecer grupo de destino

Esta instrucción FP establece el grupo de destino.

Parámetros

Entrada

sGroupNumber (WORD, INT, UINT)

Establecer el número de grupo de destino.

Valores: 0–7

Ejemplo: 'GRPNO=3' especifica el grupo 3 como grupo de destino.

sGroupName (STRING)

Establecer el nombre del grupo de destino (máx. 64 caracteres).

Ejemplo: 'GRPNAME=Group3' establece "Group3" como nombre del grupo de destino.

sEMailAddresses (STRING)

Establecer la dirección de correo electrónico de un miembro perteneciente a un grupo de destino (máx. 256 caracteres). Una dirección de correo electrónico puede especificarse con un nombre de host solamente o con un nombre de host + un nombre de dominio. Si se omite el nombre de dominio aquí, se debe especificar con sEMailDomain.

Ejemplos:

  1. 'TO=user@support.com' sets "user@support.com" como dirección de correo electrónico de destino. Si el nombre de dominio se incluye aquí, no es necesario establecer un nombre de dominio con sEMailDomain.

  2. 'TO=user' y 'DOMAIN=support.com' establecen "user@support.com" como dirección de correo electrónico de destino.

  3. 'TO=user@support.com,admin@helpcenter.com' establece dos direcciones de correo electrónico en dos dominios diferentes: "user@support.com" y "admin@helpcenter.com".

sEMailDomain (STRING)

Establecer el nombre de dominio (máx. 32 caracteres). Solo se puede especificar un nombre de dominio.

Establecer un nombre de dominio permite omitir el nombre de dominio en sEMailAddresses, lo cual es útil si se desea configurar varias direcciones de correo electrónico.

Ejemplos:

  1. 'TO=user,admin,groupowner' and 'DOMAIN=support.com' establecen varias direcciones de correo electrónico: "user@support.com", "admin@support.com" y "groupowner@support.com".

  2. 'TO=user@support.com,admin,groupowner' y 'DOMAIN=helpcenter.com' especifican varias direcciones de correo electrónico en diferentes dominios: "user@support.com", "admin@helpcenter.com" y "groupowner@helpcenter.com".

Salida

bError (BOOL)

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.

Observaciones

  • Separar todas las entradas de palabras clave por medio de una coma, p. ej., 'NAME=abcd,FROM=sender@server.com'

  • El número de caracteres de los datos de cadena no debe superar los 256.

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

  • Se pueden utilizar mayúsculas y minúsculas para especificar las palabras clave. Sin embargo, el asunto, el texto del correo electrónico y el nombre del archivo adjunto distinguen entre mayúsculas y minúsculas.

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

  • 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 la bandera de solicitud de transferencia para el ajuste de transferencia o el número nLogID especificado es FALSE. Cuando la bandera de solicitud de transferencia es TRUE, 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.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • 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 la bandera de solicitud de transferencia para un número nLogID especificado es TRUE, p. ej., si sys_blsLog0DataRecordingActive es TRUE.

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

  • Si no se ha establecido ningún nombre de dominio con sEMailDomain y la dirección de correo electrónico configurada con sEMailAddresses se especifica sin nombre de dominio.

  • Si el número de caracteres de los datos de cadena supera los 256.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • 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 la bandera de solicitud de transferencia para un número nLogID especificado es TRUE, p. ej., si sys_blsLog0DataRecordingActive es TRUE.

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

  • Si no se ha establecido ningún nombre de dominio con sEMailDomain y la dirección de correo electrónico configurada con sEMailAddresses se especifica sin nombre de dominio.

  • Si el número de caracteres de los datos de cadena supera los 256.

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
		bSetGroup: BOOL:=FALSE;
		bError: BOOL:=FALSE;
	END_VAR

Cuerpo de la POU

Si bSetGroup cambia de FALSE a TRUE y sys_bIsEthernetInitializing está a FALSE, 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 := 10 ;
        NETWORK_BODY
B(B_CONTACT,,bSetGroup,4,1,6,3,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,12,1,14,3,N);
B(B_VARIN,,'GRPNO=0',16,5,18,7,);
B(B_VARIN,,'GRPNAME=Grp0',16,6,18,8,);
B(B_VARIN,,'TO=user@support.com',16,7,18,9,);
B(B_VARIN,,'DOMAIN=',16,8,18,10,);
B(B_VAROUT,,bError,30,5,32,7,);
B(B_F,FP_SMTP_SET_GROUP!,,18,3,30,10,,?DEN?DsGroupNumber?DsGroupName?DsEMailAddresses?DsEMailDomain?AENO?CbError);
L(1,2,4,2);
L(6,2,12,2);
L(14,2,14,5);
L(14,5,18,5);
L(1,0,1,10);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If DF(bSetGroup) AND NOT sys_bIsEthernetInitializing then
    FP_SMTP_SET_GROUP(sGroupNumber := 'GRPNO=0',
                      sGroupName := 'GRPNAME=Grp0',
                      sEMailAddresses := 'TO=user@support.com', 
                      sEMailDomain := 'DOMAIN=',
                      bError => bError);
End_if;

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