Prácticas recomendadas

General

El capítulo siguiente tiene como objetivo ayudarle a evitar posibles problemas con la aplicación.

Condiciones previas

  • La biblioteca solo detectará aquellos dispositivos que sean compatibles con uno de los protocolos predefinidos.

  • Compruebe que la función FC_Scan se haya ejecutado correctamente antes de utilizar una instancia de los bloques de funciones FB_SendCommand/FB_ExtendedSendCommand o la función FC_GetPeerScanData.

  • Después de que se haya completado la ejecución de la función FC_Scan, espere hasta 5 segundos (en función del número de dispositivos de red conectados) antes de continuar con cualquier otra función o bloque de funciones.

  • La entrada i_udiSearchUniqueID de la función FC_GetPeerScanData deberá ser 0 si llama esta función tras ejecutar la función FC_ClearScanList y FC_Scan y antes de ejecutar el comando.

  • No hay ninguna comprobación de sintaxis disponible para FB_ExtendedSendCommand; por lo tanto, utilice FB_SendCommand definido por la enumeración ET_SendCommandType.

  • En función del comando, la estructura ST_SendCommand (entrada de FB_SendCommand) contendrá diferentes partes que son obligatorias. Es necesaria la dirección MAC correcta.

Ejemplos

Los siguientes ejemplos se basan en esta topología de red:

Hay dos dispositivos detectados almacenados en la base de datos interna (Logic Controllers M241 y M251).

Ejemplos de FC_GetPeerScanData

Búsqueda de un dispositivo por su nombre de modelo:

Paso

Acción

1

Establezca las entradas de la siguiente forma:

i_uiSearchUniqueID := 0
i_etSearchTypeFilter := ModelName
// use the enumeration ET_SearchTypeFilter to select a pre-defined filter
i_sSearchTypeValue := 'TM241'

2

Ejecute la función.

Resultado: La estructura ST_PeerDeviceInfo proporciona la información relacionada con el M241.

NOTA: Si hay varios Logic Controllers M241 conectados a su red, utilice el ID exclusivo (1 en este ejemplo) como entrada para i_uiSearchUniqueID durante la siguiente ejecución. Repita este procedimiento mientras FC_GetPeerScanData se ejecute correctamente para obtener la información de los Logic Controllers M241.

Búsqueda de un dispositivo por su dirección IPv4:

Paso

Acción

1

Establezca las entradas de la siguiente forma:

i_uiSearchUniqueID := 0
i_etSearchTypeFilter := IPv4
// use the enumeration ET_SearchTypeFilter to select a pre-defined filter
i_sSearchTypeValue := '10.209.177.74'
//IP address of the TM251

2

Ejecute la función.

Resultado: La estructura ST_PeerDeviceInfo proporciona la información relacionada del controlador con esta dirección IPv4.

Ejemplos de FB_SendCommand

  • Localizar

    Solo es necesario establecer las entradas i_etCommandType y i_sMacAddr.

    La ejecución de este bloque de funciones hace que los LED del Logic Controller M251 conectado parpadeen durante aproximadamente 10 segundos.

  • Dirección IPv4

    Para cambiar temporalmente la dirección IPv4 de un Logic Controller M251 (Save = FALSE), deben configurarse todos los elementos de la estructura de entrada i_stSendCommand.
    NOTA: Para comprobar que la nueva configuración se haya definido correctamente, ejecute lo siguiente:
    1. FC_ClearScanList

    2. FC_Scan

    3. FC_GetPeerScanData

    En este ejemplo, obtendrá:
  • Dirección MAC

    En este ejemplo se muestra una sintaxis de comandos incorrecta (dirección MAC no válida)
    .

    En función del comando, se implementa una comprobación de sintaxis para cualquier elemento de la estructura.

  • Copia de seguridad

    Para crear una imagen de copia de seguridad de un Logic Controller M251, deben configurarse las entradas i_etCommandType, i_sMacAddr, i_sExtension1 (nombre de usuario FTP), e i_sExtension2 (contraseña FTP).
    NOTA: Este comando puede tardar varios minutos en ejecutarse.
    Para comprobar si la copia de seguridad se ha guardado en la tarjeta SD (insertada en el Logic Controller M262), así como su ubicación, abra una conexión FTP con el Logic Controller M262.

Ejemplo de FB_ExtendedSendCommand

Solo se ha definido una cadena de entrada en la que introducir el comando completo, por ejemplo, para locate.

NOTA: No se implementa ninguna comprobación de sintaxis, ni de integridad de otro tipo, para la entrada i_sExtendedSendCommand. El usuario deberá estar al corriente del contenido de la entrada y garantizar que este sea correcto. Solo se tendrán en cuenta los caracteres en minúsculas.