Camino:  Equipo (Dispositivos) > PLC200 > Programa > Communication Network > CANopen >

CO_SlaveStatus

Monitoração de Escravo de rede CANopen

Previous pageReturn to chapter overviewNext page

Bloque que permite monitorear diversos estados de un determinado esclavo de la red CANopen.

 

Representación Ladder

 

CO_SLAVESTATUS_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

Execute

BOOL

Habilitación del bloque

NodeID

BYTE USINT

Dirección del esclavo para monitoreo

VAR_OUTPUT

Done

BOOL

Habilitación de salida

ErrorCtrlFailure

BOOL

Señalizador de error de nodeguarding o de heartbeat en el esclavo indicado

InitFailure

BOOL

Señalizador de error en la inicialización del esclavo indicado

InitFinished

BOOL

Señalizador de que el procedimiento de Inicialización del esclavo fue concluido

ErrorCtrlStarted

BOOL

Señalizador de inicio del servicio de control de errores

ConfigDownloaded

BOOL

Señalizador de éxito en el download de las configuraciones SDO del esclavo

SlaveDetected

BOOL

Señalizador de éxito en la lectura de identificación del esclavo vía SDO

 

Operación

 

Este bloque permanece activo mientras Execute está en nivel TRUE, actualizando sus salidas de acuerdo con el monitoreo del esclavo. Cuando Execute recibe nivel FALSE, las entradas son ignoradas y las salidas son reseteadas. La salida Done recibe nivel TRUE cuando Execute tiene nivel TRUE y el bloque ya haya finalizado su ejecución.

 

Las salidas reciben nivel TRUE cuando el status del esclavo CANopen indicado por la dirección NodeID corresponde a su descripción (error de Inicialización, download exitoso, etc.).

 

Diagrama de Flujo del Bloque

 

CO_SLAVESTATUS_flowchart

 

Ejemplo en Ladder

 

CO_SLAVESTATUS_example01

 

El ejemplo de arriba solicita datos del esclavo 20 de la red CANopen. Finalizado exitosamente el bloque, será activada la salida Done.

 

Ejemplo en ST

 

  El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.

 

 

VAR

   STATUS_ERROR, STATUS_FAILURE, STATUS_FINISHED, STATUS_STARTED,

       STATUS_CONFIG, STATUS_DETECTED : BOOL;

END_VAR

 

DO1 := FB_CO_SlaveStatus(

   Execute:=DI1,

   NodeID:=20,

   ErrorCtrlFailure=>STATUS_ERROR,

   InitFailure=>STATUS_FAILURE,

   InitFinished=>STATUS_FINISHED,

   ErrorCtrlStarted=>STATUS_STARTED,

   ConfigDownloaded=>STATUS_CONFIG,

   SlaveDetected=>STATUS_DETECTED);