Uso de datos de Cam para bloques de funciones

Descripción general

Los diagramas de Cam se utilizan como base para generar estructuras de datos de cam con el número correspondiente de puntos de cam.

Dichas estructuras de datos permiten parametrizar los bloques de funciones FB_MultiCam / MC_Cam_ID o bien una POU con una funcionalidad equivalente.

Los datos de Cam se utilizan para inicializar los bloques de funciones o módulos que procesan estructuras de datos de cam en el programa de aplicación.

Especificación del bloque de funciones de destino

En la ficha Configuración del editor de movimiento de cam se incluye un campo de entrada que permite especificar una estructura de datos de cam existente como destino. Si se define un destino, los datos de cam se escribirán automáticamente en esta estructura de destino cuando se inicialice el programa. Si no se puede determinar la expresión, se generará un mensaje de diagnóstico.

A partir del destino definido, EcoStruxure Machine Expert detecta si las estructuras de datos son estructuras CommonMotionType o PacDriveLib y si la parametrización se lleva a cabo de la forma adecuada.

Estructura de datos

Biblioteca

ST_Multicam

PacDriveLib

FB_MultiCam / MC_Cam_ID

CommonMotionType

Generación de datos para estructuras de datos de Cam

Una vez compilado el proyecto (mediante el comando Generar código del menú Compilación o el método abreviado de teclado F11), se generará el código fuente IEC, que se escribirá en la estructura de datos de cam especificada.

Las instrucciones de parametrización para la estructura de datos de cam se generan en el siguiente formato:

MyMultiCam.MultiCamData.diNumberOfCamPoints := 3;
MyMultiCam.MultiCamData.lrYPeriod := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrX := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrY := 100;
MyMultiCam.MultiCamData.astCamPoint[0].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[0].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[0].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[0].etCamType := ET_CAMTYPE.Poly5Com;
MyMultiCam.MultiCamData.astCamPoint[1].lrX := 100;
MyMultiCam.MultiCamData.astCamPoint[1].lrY := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrM := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrK := 0;
MyMultiCam.MultiCamData.astCamPoint[1].lrLambda := 0.5;
MyMultiCam.MultiCamData.astCamPoint[1].lrC := 1;
MyMultiCam.MultiCamData.astCamPoint[1].etCamType := ET_CAMTYPE.SimplSin;

En este ejemplo, MyMultiCam.MultiCamData se configura como estructura de datos de destino.

Los datos generados se basan en diagramas de cam editados en la modalidad sin conexión. Estos no se actualizan en la modalidad en línea.

Número máximo de CamPoints

Cada segmento de cam se define mediante un CamPoint que especifica los datos ubicados en el margen izquierdo del segmento. El CamPoint derecho de un segmento de cam corresponde al CamPoint izquierdo del siguiente segmento de cam. Para identificar el punto final del diagrama de cam, se define el último segmento de cam mediante un CamPoint derecho propio.

Una estructura de datos de cam dispone de un máximo de 32 CamPoints. Si se selecciona una estructura de destino con un diagrama de cam que contiene más de 31 segmentos, se generará un mensaje de diagnóstico. Para poder diseñar el movimiento de un eje que contiene más de 31 segmentos, deberá dividirlo en diversos diagramas de cam.

NOTA: Si se incorporan varios diagramas de cam para ajustar el tamaño de las unidades con Motion Sizer, Motion Sizer se asegura de usar la curva de cam total, incluidos todos los diagramas de cam secundarios.

Inicialización del bloque de funciones

Para poder proporcionar los datos configurados de cam a la estructura de destino, se ejecuta una vez un código de inicialización durante el arranque. Esta tarea de inicialización la ejecuta una POU de programa que se invoca como código de inicialización una vez finalizados los procesos de inicialización del usuario.