Ejemplo: Lectura de parámetros

Con ayuda del servicio SDO READ se pueden leer parámetros. Para ello deben conocerse el índice y subíndice del parámetro que debe leerse.

El servicio SDO se explica con mayor detalle en base a un ejemplo. En el ejemplo se ejecuta el servicio en un maestro EtherCAT® de la empresa Beckoff Automation GmbH en la herramienta de ingeniería TwinCAT 3.

Proceda como se indica a continuación:

  • Usted ha integrado las bibliotecas y los bloques funcionales necesarios del servicio para el maestro EtherCAT® en el proyecto TwinCAT (véanse Servicios SDO READ y WRITE).
  1. Abra el software de ingeniería MOVISUITE® y busque el parámetro.
  2. Mueva el puntero del ratón sobre el campo de entrada o de visualización del parámetro y anote de la ayuda contextual el índice del parámetro. El subíndice está separado con un punto del número de índice.
  3. Cree una instancia del bloque funcional FB_EcCoeSdoRead.
  4. Asignación de las entradas del bloque funcional:

Entrada

Valor

sNetID

Net‑ID del maestro EtherCAT®

nSlaveAddr

Dirección EtherCAT® de la unidad de la que deben leerse los datos.

nIndex

Índice del parámetro que debe leerse.

Si usted utiliza un módulo de eje doble, el índice del segundo eje tiene asignado un offset de 0x1000 (4096 dec).

nSubIndex

Subíndice del parámetro que debe leerse.

pDstBuf

Puntero del rango de datos en el que deben almacenarse los parámetros leídos.

cbBufLen

Tamaño de memoria máximo en bytes que ocupa el parámetro que debe leerse.

Para los variadores del módulo de automatización MOVI‑C®, el tamaño de memoria máximo de los parámetros es siempre de 4 bytes.

bExecute

Flanco positivo que inicia el proceso de lectura.

tTimeout

Tiempo de desbordamiento del bloque funcional

  1. Para iniciar el proceso, la entrada bExecute debe reconocer un "Rising Edge" (flanco positivo).
    • El valor actual del parámetro se visualiza en la variable correspondiente. La variable se debe escalar aún correspondientemente para que sea visualizado el valor no escalado real en las unidades de usuario correctas.
    • En este ejemplo ha sido leído el valor de la tensión del circuito intermedio. Este valor lo debe escalar con 1000.
    • Las salidas bBusy y bError señalizan el estado del servicio SDO. Si se produce un fallo durante la ejecución del servicio SDO y usted ha activado la salida bError, la salida nErrId muestra el número de fallo.