Camino:  Equipo (Dispositivos) > LDW900 > Ladder > Motion Control > Motion Control Cam >

MC_CamTableSelect

Seleção de Tabela Cam

Previous pageReturn to chapter overviewNext page

Bloque que selecciona una tabla de puntos de una curva CAM previamente programada a través de la herramienta CAM Profiles.

 

Representación Ladder

 

MC_CamTableSelect_block

 

Características de Ejecución

 

Tamaño de Memoria de Programa

44 Bytes

Tamaño de Memoria de Datos

16 Bytes

 

Estructura del Bloque

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_IN_OUT

Master

BYTE

Selección de maestro de la operación

(0 - Entradas digitales rápidas)

(1 - CANopen)

(2 - Encoder 1)

(3 - Eje virtual)

(4 - Encoder 2)

Slave

BYTE

Selección de esclavo de la operación

(0 - Eje real)

(1 - Eje Virtual 1)

CamTable

WORD

Código de la tabla CAM

VAR_INPUT

Execute

BOOL

Habilitación del bloque

Periodic

BOOL

Control de ejecución de la solicitud

(0 - Ejecución única)

(1 - Ejecución periódica)

VAR_OUTPUT

Done

BOOL

Habilitación de la salida

Busy

BOOL

Señalizador de que el bloque aún no fue finalizado

Error

BOOL

Señalizador de error en la ejecución

ErrorID

WORD

Identificador del error ocurrido

CamTableID

WORD

Tabla CAM seleccionada

VAR

MC_CAMTABLESELECT_INST_0

MC_CAMTABLESELECT

Instancia de acceso a la estructura del bloque

 

Operación

 

Este bloque, cuando detecta un flanco de subida en Execute, busca la tabla especificada en CamTable para que ésta pueda ser utilizada por el bloque MC_CamIn.

 

Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done es activada cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que Execute reciba FALSE.

 

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el código del error según la tabla de abajo.

 

Código

Descrição

83

Archivo de las tablas de puntos de la curva CAM inválido.

84

Cam Table inválido. Cam Table debe ser de 1 a 10.

 

Ejemplo en Ladder

 


 

MC_CamTableSelect_example02

 
En la transición de subida de CAMSEL_EXECUTE, el bloque MC_CamTableSelect es ejecutado y, con eso, la tabla de puntos seleccionada en CAM_INDEX podrá ser utilizada por el bloque MC_CamIn.

Al ejecutar el bloque, la salida Done y CAMSEL_DONE son ajustadas y permanecen en nivel TRUE mientras la entrada Execute está ajustada.

En ese ejemplo, CAMSEL_DONE garantiza que el bloque MC_CamIn no será accionado antes de que el bloque MC_CamTableSelect sea ejecutado exitosamente.

 

Ejemplo en ST

 

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

 

 

VAR

  CAMSEL_EXECUTE, CAMSEL_DONE, CAMIN1_EXECUTE, CAMIN1_DONE : BOOL;

  CAM_INDEX, CAM_SELECTED : WORD;

  MC_CAMTABLESELECT_INST_0 : FB_MC_CamTableSelect;

  MC_CAMIN_INST_0 : FB_MC_CamIn;

END_VAR

 

MC_CAMTABLESELECT_INST_0.Execute := CAMSEL_EXECUTE;

MC_CAMTABLESELECT_INST_0(

  Master:=0,

  Slave:=0,

  CamTable:=CAM_INDEX,

  Periodic:=0);

CAM_SELECTED := MC_CAMTABLESELECT_INST_0.CamTableID;

CAMSEL_DONE := MC_CAMTABLESELECT_INST_0.Done;

 

MC_CAMIN_INST_0.Execute := CAMIN1_EXECUTE AND CAMSEL_DONE;

MC_CAMIN_INST_0(

  Master:=0,

  Slave:=0,

  MasterScaling:=1.0,

  SlaveScaling:=1.0,

  MasterSyncPosition:=LREAL#0.0,

  CamTableID:=CAM_SELECTED,

  BufferMode:=0);

CAMIN1_DONE := MC_CAMIN_INST_0.InSync;