FP_SMTP_SET_MODE_TRANSFER_LOG

Establecer el modo de transferencia SMTP para los archivos de histórico de datos

Esta instrucción FP define los ajustes de transferencia del cliente SMTP para correo electrónico cuando el archivo de histórico de datos se ha completado.

Parámetros

Entrada

nLogID (WORD, INT, UINT)

Número de LOG (rango permitido: 0–15). El compilador genera internamente la cadena para el número de archivo de registro, p. ej., 'LOG=0'

sGroupNumber_Subject (STRING)

Establecer el número de grupo de destino y el asunto del correo electrónico.

  • Configurar hasta ocho números de grupo de destino con la sintaxis de palabra clave 'GRPNO=n1+n2+…+n8'.

    Valores: 0–7

  • Establecer el asunto con una de las dos configuraciones de palabra clave siguientes (máx. 64 caracteres, un byte):

    • 'SUBJECT=xxxxxx': Establece un texto de asunto definido por el usuario.

    • 'SUBJECTAUTO': Asunto generado automáticamente que contiene información sobre el tipo de activación del envío.

      Asuntos generados automáticamente:

      Japonés

      Inglés

      ロギング/トレース (LOG0)

      Logging/Trace (LOG0)

      ロギング/トレース (LOG1)

      Logging/Trace (LOG1)

      ...

      ...

      ロギング/トレース (LOG14)

      Logging/Trace (LOG14)

      ロギング/トレース (LOG15)

      Logging/Trace (LOG15)

    Nota:

    • El idioma utilizado para la información generada automáticamente se especifica con la instrucción FP_SMTP_SET_CONNECTION. Usar el parámetro sCommunication para cambiar el idioma del japonés (por defecto) al inglés.

    • Las palabras clave 'GRPNO' y 'SUBJECT' deben estar separadas por comas e introducirse en este orden.

Ejemplos:

  1. Grupo de destino número 0, asunto definido por el usuario "LogFileTransmission": 'GRPNO=0,SUBJECT=LogFileTransmission'

  2. Grupo de destino números 1, 3, 4, 7, asunto definido por el usuario "LogFilesGroups": 'GRPNO=1+3+4+7,SUBJECT=LogFilesGroups'

  3. Números de grupo de destino 0 a 7, asunto generado automáticamente: 'GRPNO=0+1+2+3+4+5+6+7,SUBJECTAUTO'

sBodyText (STRING)

Mensaje (máx. 256 caracteres, un byte)

Especificar la variable que almacena el texto de correo electrónico o una constante de caracteres.

sAttachment (STRING)

Especificar si se envía o no información adicional o un archivo adjunto.

Incluir información adicional en el texto del correo electrónico con una de las siguientes configuraciones de palabra clave:

  • 'INFO=NONE': No añadir ninguna información automáticamente

  • 'INFO=AUTO': Añadir texto generado automáticamente

La siguiente información se añade al texto del correo electrónico:

Japonés

Inglés

基本項目

  • 送信元

  • CPU 型番(例:CPS41E)

  • IPv4 アドレス

  • IPv6 アドレス

  • ロギングトレース(ID 番号)

  • ファイル確定時刻

Basic information

  • From

  • CPU Part number (p. ej., CPS41E)

  • Direcciones IPv4

  • Dirección IPv6

  • Logging Trace ID

  • File fixed Time

Nota:

  • El idioma utilizado para la información generada automáticamente se especifica con la instrucción FP_SMTP_SET_CONNECTION. Usar el parámetro sCommunication para cambiar el idioma del japonés (por defecto) al inglés.

  • Para generar la cadena sAttachment también se puede usar FP_SMTP_GET_DATA_FORMAT.

Adjuntar el archivo de histórico de datos (archivo LOG) con la siguiente configuración de palabras clave:

  • 'ATT=NONE': No adjuntar el archivo LOG al correo electrónico.

  • 'ATT=FILE': Adjuntar el archivo LOG con el número especificado por nLogID.

Ejemplos:

  1. No añadir ninguna información, no adjuntar el archivo LOG: 'INFO=NONE,ATT=NONE'

  2. Añadir información generada automáticamente, adjuntar el archivo LOG: 'INFO=ADD,ATT=FILE'

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

  • No se pueden omitir los parámetros para la generación automática de texto y para adjuntar archivos.

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

  • No cambiar el orden de las palabras clave. Especificar las palabras clave y sus parámetros de ajuste en el orden en que se enumeran aquí.

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

  • 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, 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.

  • 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, 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.

  • La instrucción solo puede ejecutarse cuando la bandera de solicitud de transferencia para el número nLogID especificado es FALSE. Cuando la bandera de solicitud de transferencia es TRUE, se produce un error de operación.

  • La instrucción almacena los ajustes de correo electrónico para el histórico de datos de sGroupNumber_Subject, sBodyText y sAttachment en el número de archivo LOG especificado por nLogID.

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

  • Si no se registra la condición de histórico de datos de un número nLogID especificado.

  • 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 el número de caracteres de los datos de cadena supera los 256.

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

  • Si no se especifica ningún servidor de transmisión de correo electrónico.

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

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • Si la bandera de solicitud de transferencia para un número nLogID especificado es TRUE, p. ej., si sys_blsLog0DataRecordingActive es TRUE.

  • Si no se registra la condición de histórico de datos de un número nLogID especificado.

  • 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 el número de caracteres de los datos de cadena supera los 256.

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

  • Si no se especifica ningún servidor de transmisión de correo electrónico.

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

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
		bIsError: BOOL:=FALSE;
		bSetLogTransferSMTP: BOOL:=FALSE;
		bDisableLogTransferSMTP: BOOL:=FALSE;
	END_VAR

Cuerpo de la POU

Si bSetLogTransferSMTP y bDisableLogTransferSMTP están 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 := 7 ;
        NETWORK_BODY
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'GRPNO=0~SUBJECTAUTO',19,3,21,5,);
B(B_VARIN,,'Sent Log Files',19,4,21,6,);
B(B_VARIN,,'INFO=NON~ATT=NONE',19,5,21,7,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_CONTACT,,bSetLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_SET_MODE_TRANSFER_LOG!,,21,0,39,7,,?DEN?DnLogID?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?AbError);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_TRANSFER_CONTROL_LOG!,,21,0,39,5,,?DEN?DnLogID?DsControl?AENO?AbError);
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'DISABLE',19,3,21,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If (bSetLogTransferSMTP) Then
    FP_SMTP_SET_MODE_TRANSFER_LOG(nLogID := 0,
                                  sGroupNumber_Subject := 'GRPNO=0,SUBJECTAUTO',
                                  sBodyText := 'Sent Log Files', 
								  sAttachment := 'INFO=NON,ATT=NONE', bError => bIsError);
End_if;
If (bDisableLogTransferSMTP) Then
    FP_SMTP_TRANSFER_CONTROL_LOG(nLogID := 0,
                                 sControl := 'DISABLE', bError => bIsError);
End_if;

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