MC_CamTableSelect
MC_CamTableSelect carga una tabla de puntos de curva de leva programada previamente con la herramienta CAM Profiles. En el flanco de subida de Execute, selecciona la tabla identificada por CamTable y establece Done una vez que la tabla está disponible para MC_CamIn.
Representación en Ladder
Características de ejecución
| Parámetro | Valor |
|---|---|
| Tamaño de la memoria de programa | 44 bytes |
| Tamaño de la memoria de datos | 16 bytes |
Estructura de bloques
| Tipo de variable | Nombre | Tipo de datos | Descripción |
|---|---|---|---|
| VAR_IN_OUT | Master | BYTE | Selecciona el eje maestro o esclavo. |
| VAR_IN_OUT | Slave | BYTE | Selecciona el eje maestro o esclavo. |
| VAR_IN_OUT | CamTable | WORD | Número de tabla CAM. |
| VAR_INPUT | Execute | BOOL | Habilita el bloque. |
| VAR_INPUT | Periodic | BOOL | Parámetro de bloque. |
| VAR_OUTPUT | Done | BOOL | Se establece cuando el bloque finaliza correctamente. |
| VAR_OUTPUT | Busy | BOOL | Indica que el bloque todavía se está ejecutando. |
| VAR_OUTPUT | Error | BOOL | Indica un error de ejecución. |
| VAR_OUTPUT | ErrorID | WORD | Identificador de error. |
| VAR_OUTPUT | CamTableID | WORD | Identificador de tabla CAM. |
| VAR | MC_CAMTABLESELECT_INST_0 | MC_CAMTABLESELECT | Instancia de acceso para la estructura de bloques. |
Operación
- En un flanco de subida de
Execute, el bloque carga la tabla CAM especificada porCamTable. - Tras una ejecución correcta, se establece
Doney la tabla de puntos seleccionada puede ser utilizada porMC_CamIn. - Utilice la señal de finalización para evitar que
MC_CamInse inicie antes de que la selección de la tabla se realice correctamente.
Códigos de error
| Código | Descripción |
|---|---|
| 83 | Archivo de tabla de puntos de curva CAM no válido. |
| 84 | Tabla CAM no válida. CAM Table debe estar entre 1 y 10. |
Ejemplos
- Ejemplo en Diagrama Ladder
- Ejemplo en Texto estructurado


El ejemplo en Ladder muestra un uso funcional del bloque con las señales de comando, estado y salida correspondientes.
El siguiente código en Structured Text aplica el mismo ejemplo funcional.
Structured Text
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;