Crear cámaras mediante programación
El BasicMotion_CreateCamTableOnline.project El proyecto de muestra se encuentra en el directorio de instalación de CODESYS bajo ..\CODESYS SoftMotion\Examples.
El ejemplo muestra cómo puede usar el código IEC para crear y usar una cámara. Aquí se tratan los siguientes puntos
Una cámara creada en el editor de cámaras se vuelve a crear con código IEC.
En un caso, el disco de leva se genera en la tarea de bus.
En el otro caso, el disco de leva se genera en una tarea separada.
Luego, las tres levas funcionan con el mismo eje maestro y diferentes ejes esclavos. El movimiento de las tres esclavas es idéntico.
La leva generada en el código IEC se muestra en la visualización.
Para obtener más información sobre la creación programática de cámaras, consulte: Crear cámaras mediante programación
Estructura de la aplicación
La aplicación consta de los siguientes componentes:
CamOfflineLa cámara creada en el editor de cámaras que debe volver a crearse con el código IEC.
PLC_PRG
El programa consiste en una máquina de estados simple y, lógicamente, en tres partes. En la primera y la segunda parte, se crea una leva en código IEC. En la tercera parte, se ejecutan las cámaras creadas anteriormente y una cámara idéntica creada sin conexión
Parte 1:
en el primer estado
STATE_CREATE_ONLINE_TABLE, se crea una leva en código IEC. El SMCB.CamBuilder bloque de funciones delSM3_CamBuilderLa biblioteca se utiliza para este propósito. Se agregan tres segmentos: un elemento Poly5 seguido de un elemento Line y otro elemento Poly5. El constructor genera un camonline cámara de esto. A partir de este momento, la leva se crea en código IEC y se puede utilizar de la misma manera que la Cámara sin conexión cámara creada sin conexión en el editor de cámara.Parte 2:
En el
STATE_INIT_ONLINE_TABLE_MULTITASK,STATE_START_CREATE_ONLINE_TABLE_MULTITASK, ySTATE_READ_ONLINE_TABLE_MULTITASKindica que la creación de la cámara se inicia en otra tarea y, a continuación, se lee.Parte 3:
En el
STATE_POWER_DRIVESestado, se inicializan los ejes virtuales del eje maestro y de los tres ejes esclavos. A continuación, las levas se seleccionan medianteMC_CamTableSelecten elSTATE_SELECT_TABLEestado y ejecutado en la finalSTATE_MOVEMENTestado. El eje maestro se mueve usandoMC_MoveVelocityy se usa como maestro para las tres levas.
MultitaskCamBuilderUn programa que genera una cámara como se describe en la parte 1 de
PLC_PRG. La única diferencia aquí es que se utiliza una variante de la cámara multitarea y segura para varios núcleosGVLAquí se instancia la variante multitarea/multicore segura de la cámara.
VisualizationLa visualización contiene el
SMC_Visu_CamDisplayerelemento para mostrar cámaras. La cámara generada en la parte 1 dePLC_PRGse muestra.CamDisplayerSettingsElementos adicionales para mostrar la cámara en
VisualizationTrace
Puede usar la traza para rastrear el movimiento de los ejes virtuales. Se registra la posición actual del maestro, así como la posición, la velocidad y la aceleración de los tres ejes secundarios.
Puesta en servicio
Compile la aplicación y descárguela a un controlador.
Inicie el rastreo y la aplicación.
Observe el rastro de muestreo.
Visualización de la cámara generada en la visualización