Loading
Innovation Center LOGO
Recent ActivityRecent Activity

Control De Cinta Multibelt

Ponga en marcha y opere un sistema MultiBelt sincronizado de tres trenes, manteniendo la separación mínima mediante control de distancia circular y feedforward de posición. - [Tiempo de Implementación: 30 minutos]
Innovation Center Home Page
Cardboard boxes on automated conveyor belt in smart warehouse with digital logistics hologram concept.
Innovation Center LOGO
  • General
  • Guía de Implementación
  • Descargas
  • Contáctanos
  • Suscribirme
Innovation Center Home Page
 
 

 

¿Qué hace esta aplicación?

El proyecto implementa una aplicacion de control de movimiento para un sistema MultiBelt compuesto por tres trenes o carros sincronizados sobre una trayectoria circular. Cada tren se desplaza entre una estacion de carga y una o dos estaciones de descarga, manteniendo separacion respecto al tren precedente para evitar colisiones o acercamientos por debajo de una distancia minima configurada.

La aplicacion corre sobre un controlador GuardLogix/ControlLogix/Compaclogix y emplea dos dispositivos principales de movimiento: el Drive_1 y el Drive_2. Los ejes de tren se denominan Ax_Train1, Ax_Train2 y Ax_Train3, y existe además un eje de banda de entrada llamado In_Belt junto con el eje Ax_Converter, todos agrupados en el grupo de movimiento Axes.

La lógica se organiza en tres bloques. Main_Program gobierna la secuencia general: inicializa parametros, gestiona arranque, paro, reset de fallas, simulación de producto, coordinación MultiBelt y administración de ejes. Main_Motion_Prg ejecuta los comandos de movimiento Q_MAM y publica posiciones de mando para visualizacion o integracion externa. SafetyProgram gestiona la funcion Safe Torque Off de los trenes mediante AOIs de seguridad codificados.

El objetivo del documento es poner en marcha la aplicacion MultiBelt de tres trenes o configurable según la necesidad, ejecutar el ciclo, observar el movimiento y detenerlo de forma controlada. El modo de uso previsto es un entorno compatible con control de movimiento, con grupo de ejes sincronizado, variadores configurados y la cadena Safe Torque Off validada.

El problema que resuelve es la coordinación de varios móviles independientes sobre una misma pista cerrada. La lógica evita que un tren alcance al anterior calculando la distancia circular entre ejes, aplicando una distancia mínima, conmutando a modo encolado cuando el espacio se reduce y propagando feedforward de posición desde el eje precedente hacia el tren siguiente.

Limitaciones/Desventajas

La aplicacion no debe operarse sobre equipo real sin revisión de seguridad, validación mecánica y autorizacion del responsable de la celda. Las funciones de movimiento y seguridad deben validarse antes en un entorno seguro.

AHIC Download ICON VF.png

Descargas

Tenga en cuenta: deberá aceptar los Términos y Condiciones para cada descarga.

Archivo descargable ›
Legal Disclaimer Acceptance. ROCKWELL AUTOMATION WILL PROVIDE ACCESS TO ROCKWELL PRODUCTS (BEST PRACTICES, APPLICATIONS AND KNOWLEDGE) ON THE CONDITION THAT YOU ACCEPT AND COMPLY WITH THE FOLLOWING TERMS AND CONDITIONS. YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT BY DOWNLOADING, INSTALLING, COPYING, OR OTHERWISE USING PRODUCTS. IF YOU ARE ACCEPTING THESE TERMS ON BEHALF OF ANOTHER PERSON, COMPANY, OR OTHER LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE FULL AUTHORITY TO BIND THAT PERSON, COMPANY, OR LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT AGREE TO THESE TERMS, DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, OR USE THE PRODUCTS, SOFTWARE AND/OR CLOUD SERVICES. 1. Rockwell Automation retains full ownership and title to all Products and related documentation. No rights or licenses are granted other than those set forth in this Agreement. Company grants to Rockwell Automation a non-exclusive, worldwide, royalty-free, perpetual, non-revocable license to use any feedback Company provides regarding the Products, even if Company has designated the feedback as confidential. Rockwell Automation will be entitled to use the feedback without restriction or compensation to Company. 2. Company may not lease sub-lease, assign, license, sub-license or otherwise transfer any of the Products without the prior written consent of Rockwell Automation. Company may not assign or otherwise transfer access rights to the Products without the prior written consent of Rockwell Automation. Any reverse assembly, reverse engineering, decompilation, and creation of derivative works based on the Products by Company is prohibited. 3. Company acknowledges that Products provided under this Agreement are Rockwell Automation’s Confidential Information and are covered by effective or pending copyrights, patents, trademarks and/or trade secrets of Rockwell Automation, and Company agrees to maintain confidentiality by not disclosing Products or documentation to any third party without the prior written consent of Rockwell Automation and to protect the confidentiality of the Products as it would Company’s own confidential information. Company agrees that its obligation of confidentiality under this paragraph shall survive expiration or termination of this Agreement. 4. Company agrees that Products provided under this Agreement are prototypes and examples and its application and results may vary depending on each customer and project conditions. Rockwell Automation do not warranty the same results. This Agreement shall in no way be construed as a commitment by Rockwell Automation at any time to manufacture and/or offer Products for sale. There is no explicit or implicit service level agreement associated with using the Products. Rockwell Automation does not warrant that the functions contained in the Products will meet Company’s requirements. Company agrees to use all Products only in accordance with the instructions and only for the intended usages identified in the documentation. 5. EXCLUSION OF WARRANTIES AND LIMITATION OF LIABILITY. THE PRODUCTS ARE PROVIDED "AS IS". ROCKWELL AUTOMATION DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ROCKWELL AUTOMATION EXPLICITLY DISCLAIMS ALL WARRANTIES OF NON- INFRINGEMENT AND EXPRESSLY DOES NOT WARRANT THAT THE PRODUCTS, IN WHOLE OR IN PART, WILL BE ERROR FREE OR FREE FROM SECURITY VULNERABILITIES. IN NO EVENT SHALL ROCKWELL AUTOMATION BE LIABLE FOR (i) LOST PROFITS, LOST SAVINGS, DOWNTIME, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR (ii) ANY PERSONAL INJURY, PROPERTY DAMAGE OR ENVIRONMENTAL DAMAGE ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, WHETHER IN AN ACTION IN CONTRACT, STRICT LIABILITY OR IN TORT INCLUDING NEGLIGENCE. 6. COMPANY AGREES TO INDEMNIFY AND HOLD ROCKWELL AUTOMATION HARMLESS FROM ALL COSTS, AWARDS, DAMAGES, EXPENSES AND FEES (INCLUDING ATTORNEYS FEES) RESULTING FROM OR RELATED TO ANY THIRD-PARTY CLAIMS (INCLUDING EMPLOYEES AND AGENTS OF COMPANY) AGAINST ROCKWELL AUTOMATION, ITS DISTRIBUTORS, AGENTS, OFFICERS, DIRECTORS OR EMPLOYEES FOR PERSONAL INJURY (INCLUDING DEATH), PROPERTY DAMAGE OR ENVIRONMENTAL DAMAGE RELATED TO OR RESULTING FROM THE USE OF THE PRODUCTS. 7. In the event a Product is exported, Company agrees to comply with all applicable United States Export Control Law and Regulations, and the applicable export control laws of other countries. This Agreement shall be governed by the laws of the state of Wisconsin. This Agreement is the complete and exclusive Agreement between Rockwell Automation and the Company, and supersedes all prior agreements, whether written or oral, relating to the Products.
AHIC NEED HELP ICON VF.png

¿Necesita ayuda?

Si necesita ayuda con alguna aplicación o tiene comentarios acerca del Innovation Center, por favor contáctenos.

 

¿Esta aplicación es relevante para mí?

Es útil para quien necesite entender, poner en marcha o demostrar una aplicación de transporte con varios carritos coordinados en Studio 5000.

 

Áreas de aplicación: Aplicaciones de transporte de producto con carros o trenes independientes sobre una pista cerrada, donde cada móvil se carga por vagones en una estación y descarga en una o dos estaciones posteriores, y donde debe garantizarse una separación mínima entre móviles. El proyecto también funciona como demostración de control de movimiento coordinado y de integración con visualización o simulación externa a través de los tags To_E3D_T1_CmdPos, To_E3D_T2_CmdPos y To_E3D_T3_CmdPos.

 

¿Cómo puedo hacerlo funcionar?

Requisitos: productos, herramientas, conocimiento previo.

Hardware

  • Controlador 1756-L84ES o equivalente, revisión mayor 36.

  • Kinetix 5700/5500/5300 

Software

  • Studio 5000 Logix Designer version 36 o superior, compatible con proyectos de movimiento y de seguridad.

  • Archivo de proyecto Q_MAM_P_v3_GL.acd. 

Conocimiento previos

  • Programación en Studio 5000, control de movimiento CIP (grupo de ejes, modos de desplazamiento, desenrollado de posición e instrucciones MAM, MAJ, MAS y MRP), manejo de Add-On Instructions y nociones de aplicaciones de seguridad con Safe Torque Off.

 
 
 
AHIC STEP ICON.png

Guía de Implementación

 
  1. Paso 1
  2. Paso 2
  3. Paso 3
  4. Paso 4
  5. Paso 5
  6. Paso 6
  7. Paso 7
  8. Paso 8
  9. Paso 9
  10. Paso 10
  11. Paso 11
  12. Paso 12
  13. Paso 13
  14. Paso 14
  15. Paso 15
  16. Paso 16
  17. Paso 17
Open All Close All
Paso 1
 
  • Glosario de la aplicación: tareas, programas y rutinas

     

     

    Para interpretar el procedimiento conviene reconocer primero los elementos que componen el proyecto. La separación en tres tareas es importante porque los comandos de movimiento deben ejecutarse en el contexto correcto del planificador, mientras que la seguridad se ejecuta en una tarea separada de clase Safety.

    TAREA

    Tipo y periodo

    Contenido

    SafetyTask

    Periódica de seguridad, 20 ms

    Ejecuta SafetyProgram

    _01_MainTask

    Periódica estándar, 10 ms

    Ejecuta la lógica principal de aplicación

    _03_MotionEventTask

    Evento Motion Group Execution  

    Ejecuta la lógica de movimiento en sincronismo con el planificador

  • Programas y rutinas

     

    Programa

    Rutinas

    Función

    Main_Program

    Main_Rtn, _00_InitVar, _01_MultiBelt, _03_AxBelt, _99_AxManager

    Secuencia general de maquina: inicialización, reset de fallas, arranque, ciclo de marcha, simulación de producto, coordinación MultiBelt y administración de ejes

    Main_Motion_Prg

    _MainMotion, Move_Commands, Output

    Ejecución de los movimientos Q_MAM y publicación de posiciones de comando escaladas

    SafetyProgram

    MainRoutine, Trains_SafeTorqueOff

    Gestión de Safe Torque Off de los tres trenes

  • Add-On Instructions con lógica visible

    Q_MAM_P_V3

     

    Es el componente más importante del movimiento. Implementa un Queued MAM Positive with Preceding Axis Position Feedforward: un movimiento MAM positivo encolado, con feedforward de posicion basado en el eje precedente. Recibe la posicion objetivo (in_TargetPosition), el eje propio (in_Axis), el eje precedente (in_Axis_Preceding), el grupo de movimiento (Cfg_MotionGroup), los parametros de movimiento (Cfg_Q_MAM_Data) y las estructuras de intercambio de parametros enlazados entre trenes.

    multibelt-conveyor-control_imagen 1.jpg

    multibelt-conveyor-control_imagen 1.jpg

    Al iniciar normaliza la posicion objetivo respecto al desenrollado de pista (Track_Unwind): si el objetivo excede el desenrollado, calcula el multiplo de vuelta y deja el objetivo dentro del rango circular. Valida que el grupo de movimiento este sincronizado y asigna error 1000 si no lo esta; valida velocidad, aceleracion, deceleracion y jerk y asigna error 1001 con codigos extendidos cuando los valores son invalidos; asigna error 1002 si la tolerancia de objetivo es negativa.

     

    La lógica calcula la distancia circular entre el eje precedente y el eje propio con modulo sobre Track_Unwind, y con esa distancia decide si el tren puede moverse libremente o debe entrar en modo encolado. En modo encolado (Sts_Queued) el eje propio sigue al precedente manteniendo Train_MinDistance: si hay espacio hacia adelante calcula un incremento de movimiento, y si no lo hay el incremento es cero. Además calcula un valor temprano de feedforward (EarlyCommandValue) para no perder un escaneo al inicio del movimiento.

     

    La condición de finalización PC se activa cuando el movimiento queda dentro de la tolerancia configurada y no hay movimiento pendiente. El estado IP indica movimiento en proceso y ER indica error de la instruccion o de sus comandos internos de movimiento.

  • AOI_MultiBelt_SingleTrain

     

    Administra la secuencia de un solo tren dentro del sistema MultiBelt. Determina el siguiente objetivo de posicion segun el estado de carga, la cantidad de vagones cargados y las estaciones de descarga.

     

    Al habilitarse por primera vez inicializa Train_Cycle_State y Mem_Cycle_State, limpia errores y resetea el contador Train_Wagon_CTU.

     

    Valida que Cfg_NumberOfWagons sea mayor que cero, que el arreglo Cfg_Wagons tenga tamano suficiente, que Cfg_TrackUnwind sea valido y que las posiciones de carga y descarga esten dentro del rango de pista; si alguna validacion falla activa Sts_ER con codigos 1005, 1006, 1007, 1008 o 1009.

    estado

    accion del tren

    0

    Espera inicio de ciclo

    10

    Ordena ir a la estacion de carga (Cfg_LoadingStation_Position)

    20

    Espera confirmacion de movimiento Q_MAM completado

    30

    El tren esta en la estacion de carga y procesa disparos de producto

    50

    Si la estacion de descarga 1 esta habilitada, ordena ir a ella

    60

    Espera llegada y descarga en la estacion 1

    70

    Ordena ir a la estacion de descarga 2

    100

    Espera llegada y descarga en la estacion 2, y luego vuelve al estado 10

  • El estado 999 corresponde a pausa o error. Cuando llega In_LoadingStation_ProductTrigger el AOI cuenta un vagon con Train_Wagon_CTU y, si aun no se completaron todos los vagones, calcula una nueva posicion de carga sumando el tamano del ultimo vagon cargado y aplicando modulo con Cfg_TrackUnwind, lo que genera objetivos sucesivos alrededor de la pista circular.

     

    La salida Cmd_Q_MAM_Exe se activa cuando el tren debe moverse y Out_TrainTargetPosition entrega la posicion objetivo al AOI Q_MAM_P_V3.

    multibelt-conveyor-control_imagen 1.jpg

    multibelt-conveyor-control_imagen 1.jpg

  • AOI_MotionPlannerCountDown

     

    Calcula información temporal del planificador de movimiento. Lee TimeOffset, CoarseUpdatePeriod, StartTime y CycleStartTime del grupo de movimiento, lee el tiempo actual CST y lo convierte al tiempo del planificador.

     

    Con esos valores obtiene TimeLeft (tiempo restante hasta la siguiente llamada del planificador), TimeElapsed (tiempo transcurrido desde la última ejecución) y ActualizationTimeOffset (diferencia entre el inicio de ciclo y el inicio del grupo). Si el grupo de movimiento no esta sincronizado, activa ER.

  • AOI_ReadInterpolatedActualPosition

     

    Lee posiciones interpoladas de un eje CIP. Obtiene el tiempo actual CST, le suma el TimeOffset, escribe ese tiempo como InterpolationTime del eje y copia Axis.InterpolatedActualPosition y Axis.InterpolatedCommandPosition a sus salidas.

     

    En esta aplicación se usa para estimar con mayor precisión la posicion de comando de un eje dentro del intervalo del planificador y alimentar el calculo de feedforward.

  • Add-On Instructions codificadas

    Los AOIs raM_Opr_EventCreate, _raM_Opr_DvcStateModel, _raM_Dvc_ModulePresent, raM_Dvc_CIPAxis y raM_Opr_SafeTrqOff_CD estan sellados y su lógica interna no puede inspeccionarse desde el L5X. Su funcion se infiere por sus nombres e interfaces visibles: raM_Dvc_CIPAxis administra dispositivos y ejes CIP asociados a los variadores, y raM_Opr_SafeTrqOff_CD implementa el Safe Torque Off de los variadores.

Paso 2
 

Preparacion del entorno

Abra el archivo Q_MAM_P_v3_GL.acd en un entorno de programación compatible con proyectos Logix version 36 y verifique que el controlador objetivo sea compatible con 1756-L84ES o compatible y revisión mayor 36. 

Antes de continuar, confirme que existan las tareas SafetyTask, _01_MainTask y _03_MotionEventTask; los programas Main_Program, Main_Motion_Prg y SafetyProgram; los ejes Ax_Train1, Ax_Train2, Ax_Train3, Ax_Converter e In_Belt; el grupo de movimiento Axes; y los modulos de variador Drive_PowerSupply, Drive_1 y Drive_2 con las direcciones.

Confirme también que los AOIs requeridos están presentes en el proyecto.

Paso 3
 

Revisión antes de descargar

Revise que los ejes tengan asignación correcta a sus variadores y que los parámetros de movimiento sean seguros para el equipo o el simulador. Verifique que las posiciones iniciales esperadas sean compatibles con la mecánica y que las condiciones mecánicas permitan movimiento positivo alrededor de la pista circular, y que el sistema pueda detener los trenes con la deceleración configurada. 

Posiciones iniciales de comando y estaciones

Elemento

Valor esperado

Ax_Train1 - posicion inicial de comando

2000

Ax_Train2 - posicion inicial de comando

1500

Ax_Train3 - posicion inicial de comando

1000

LoadingStationPosition

1650.0

UnloadingStationPosition_1

200.0 

UnloadingStationPosition_2

300.0

Configuración de trenes y parámetros Q_MAM


Parámetro

Valor

T1_NofWagons, T2_NofWagons, T3_NofWagons

4 

Tamanos de vagones por tren

60, 120, 60, 60

Longitud calculada por tren

300 

Velocidad Q_MAM

2500

Aceleracion Q_MAM

15000 

Deceleracion Q_MAM

15000

Jerk de aceleracion

33 

Jerk de deceleracion

33

Tolerancia de posicion objetivo

0.05 

Desenrollado de pista calculado

aproximadamente 2072.5

Paso 4
 

Descarga y modo de ejecución

Conecte con el controlador o con el entorno de simulación y descargue el proyecto. Si se requiere una descarga completa, coloque el controlador en modo Program; una vez finalizada la descarga, cambie a modo Run o Remote Run.

Verifique que _01_MainTask se ejecute periódicamente a 10 ms, que _03_MotionEventTask este asociada al evento Motion Group Execution y que SafetyTask se ejecute a 20 ms. Confirme por último que el grupo Axes quede sincronizado mediante Axes.GroupSynced: esa condición habilita toda la secuencia posterior.

Paso 5
 

Inicialización automática

Al iniciar el escaneo, Main_Rtn espera que Axes.GroupSynced este activo y arranca la temporización ProgramScanDelay. Mientras ProgramScanDelay.DN no este activo, Main_Rtn llama a _00_InitVar y detiene temporalmente el resto del escaneo de aplicación con TND, de modo que las variables de configuración y posicion se inicialicen antes de permitir secuencias normales.

_00_InitVar activa InitializeVariables y reposiciona internamente las posiciones de comando de los trenes cuando no coinciden con las posiciones iniciales esperadas. Luego lee, mediante instrucciones GSV, el CoarseUpdatePeriod del grupo Axes y lo convierte a segundos, y lee TravelMode, ConversionConstant y PositionUnwind de cada eje para calcular Train1_Unwind, Train2_Unwind y Train3_Unwind.

Si los tres desenrollados son iguales y los tres ejes estan en TravelMode igual a 2, se copia el valor comun a Trains_Unwind y se activa TrainsConfCorrect. A continuacion la rutina carga las posiciones de estaciones, deja EnableUnloadingStation1 apagado, configura los cuatro vagones por tren con sus tamanos, calcula la longitud de cada tren mediante bucles con LBL y JMP, y escribe los parametros comunes de Q_MAM en Train_1_QMAM_Data para copiarlos despues a Train_2_QMAM_Data y Train_3_QMAM_Data.

Finalmente asigna la distancia mínima de cada tren tomando como referencia la longitud del tren precedente y apaga RUN_CYCLE y CycleSimulationEnabled, dejando el sistema en un estado seguro de espera.

Paso 6
 

Verificación de seguridad antes de arrancar

Confirme que las entradas Safe Torque Off de los variadores estén ok, que Train_SafeTorqueOff.Inp_SafetyInterlockOK este activo, que no haya errores activos en Train_SafeTorqueOff.Sts_ER y que Train_SafeTorqueOff.Sts_TorqueDisabled refleje correctamente el estado STO de los trenes. Si se requiere un reset de seguridad, active momentaneamente SafetyResetRequest.

SafetyProgram.MainRoutine copia esa solicitud a Train_SafeTorqueOff.Cmd_Reset y llama a Trains_SafeTorqueOff, que distribuye Cmd_Reset, Cfg_AutoReset, Cfg_StopCategory y Cfg_StopTime hacia las tres instancias internas _Trains_SafeTorqueOff_M1, _Trains_SafeTorqueOff_M2 y _Trains_SafeTorqueOff_M3. M1 y M2 se conectan a las senales de seguridad 1 y 2 de Drive_1, y M3 a las senales de seguridad 1 de Drive_2.

Train_SafeTorqueOff.Sts_TorqueDisabled se activa cuando las tres instancias reportan torque deshabilitado y Sts_MotionStop cuando las tres reportan paro de movimiento. Si cualquier instancia presenta error, sus codigos Sts_ERR y Sts_EXERR se copian al objeto global y se activa Train_SafeTorqueOff.Sts_ER. No solicite arranque mientras existan condiciones de seguridad inhibiendo el movimiento.

Paso 7
 

Reset de fallas de aplicacion

Active momentaneamente FaultReset_Cmd. La secuencia FaultResetCycle recorre estados numericos y termina en 999 cuando el reset se completa correctamente.

Estado de FaultResetCycle

Que debe ocurrir 

10

Confirmar que la interconexion de seguridad este correcta y que AxesTorqueDisabled refleje el estado esperado para reset; se genera SafetyResetCmd cuando corresponde. El ciclo avanza a 20 cuando el torque ya no esta deshabilitado 

20

Si AxesFaultedState esta activo se activa AxesResetFault_Cmd y _99_AxManager genera ClearFaults para los ejes en falla. El ciclo avanza a 30 cuando no hay ejes en falla 

30

Se limpia ApplicationMotionError si estaba activo y, si existia AbortCycle, se genera Trains_ResetCycle 

999

Ciclo de reset finalizado 

Paso 8
 

Arranque de ejes

Verifique que AxesAvailableState este activo, que AxesFaultedState este inactivo y que AxesTorqueDisabled este inactivo antes de habilitar movimiento. Active entonces momentáneamente StartUp_Cmd y confirme que StartUpCycle pase a estado 10.

AxesOn_Cmd se activa cuando los ejes están disponibles, sin falla, sin torque deshabilitado y aun no activados. En _99_AxManager debe observarse la generacion de AxT1_Ctrl_Cmd.Activate, AxT2_Ctrl_Cmd.Activate y AxT3_Ctrl_Cmd.Activate, siempre que el eje correspondiente no tenga Safe Torque Disabled y el dispositivo esté disponible. Cuando AxT1_Ctrl_Sts.Activated, AxT2_Ctrl_Sts.Activated y AxT3_Ctrl_Sts.Activated quedan activos, AxesON pasa a verdadero y StartUpCycle termina en 999.

Paso 9
 

Inicio del ciclo MultiBelt

Con AxesON, TrainsConfCorrect y RunCycleEnabled activos, active momentáneamente RunCycle_Cmd. RunCycleState pasa a estado 10 y RUN_CYCLE queda enclavado. Si la marcha no esta permitida, la secuencia se invalida con un estado negativo. 

_01_MultiBelt activa Enable_MultiBelt_AOI cuando Axes.GroupSynced e InitializeVariables son verdaderos y no hay Trains_ResetCycle activo. Con ello se ejecutan las tres instancias Train_1_AOI, Train_2_AOI y Train_3_AOI de AOI_MultiBelt_SingleTrain. Cada instancia recibe su arreglo de tamaños de vagones, el número de vagones, las posiciones de carga y descarga, el desenrollado de pista, el estado RUN_CYCLE, el disparo de producto In_ProductTrigger, la señal de descarga completa y el estado de movimiento completado de su Q_MAM, y devuelve Out_TrainTargetPosition.

La rutina declara MultiBelt_Ready cuando el ciclo esta activo y al menos uno de los trenes esta en la estacion de carga, y consolida los errores de los AOIs: si cualquier tren reporta Sts_ER se activa MultiBelt_Cycle_Error y se apaga RUN_CYCLE. Cada AOI activa Cmd_Q_MAM_Exe cuando requiere mover su tren. 

Paso 10
 

Ejecución de movimientos Q_MAM

Move_Commands bloquea su ejecución mientras ProgramScanDelay.DN no este activo, lo que evita enviar comandos de movimiento antes de completar la inicialización. Después llama al AOI Q_MAM_P_V3 para cada tren cuando el AOI de tren correspondiente lo solicita mediante Cmd_Q_MAM_Exe. El encadenamiento de ejes precedentes y de parámetros enlazados es circular.

TreN

InstAncia Q_MAM

objetivo

Eje

eje precedente

Parametros enlazados (entrada / salida)

1

Train1_QMAM

Train_1_TargetPosition

Ax_Train1

Ax_Train3

Train3_LinkedParametersOutput / Train1_LinkedParametersOutput

2

Train2_QMAM

Train_2_TargetPosition

Ax_Train2

Ax_Train1

Train1_LinkedParametersOutput / Train2_LinkedParametersOutput

3

Train3_QMAM

Train_3_TargetPosition

Ax_Train3

Ax_Train2

Train2_LinkedParametersOutput / Train3_LinkedParametersOutput

Monitoree Train1_QMAM.PC, Train2_QMAM.PC y Train3_QMAM.PC: cada Cmd_Q_MAM_Exe debe limpiarse cuando su Q_MAM correspondiente reporta PC, lo que convierte cada solicitud en una ejecucion controlada y evita la reejecucion continua del mismo comando. Vigile tambien Train1_QMAM.ER, Train2_QMAM.ER y Train3_QMAM.ER para detectar errores de movimiento, y Sts_Queued, Sts_QueueLeader, inf_TrainsActualDistance y Sts_Mover_WayFree en cada Q_MAM para validar la separacion entre trenes.

Paso 11
 

 Carga de productos

Para una prueba manual, genere un pulso en In_ProductTrigger. Para usar la simulación, active CycleSimulationEnabled mientras RUN_CYCLE este activo: ProductGenerationTimeDelay temporiza la generacion de producto, InfeedBeltProductInput_FallingEdge genera un pulso y ese pulso activa In_ProductTrigger durante un escaneo.

Confirme que el AOI del tren que se encuentra en la estación de carga incremente su contador Train_Wagon_CTU y que el objetivo de carga avance según el tamaño del vagón cargado. Repita hasta completar los cuatro vagones configurados: cuando el contador los completa, el tren se resetea y pasa a la secuencia de descarga.

Paso 12
 

Descarga de productos

Observe Sts_TrainAtUnloadingStation1 y Sts_TrainAtUnloadingStation2 en Train_1_AOI, Train_2_AOI y Train_3_AOI. Cuando un tren llega a descarga se activa su temporizador correspondiente (UnloadTrain1, UnloadTrain2 o UnloadTrain3) y, al finalizar, se genera la señal de descarga completa Train1UnloadingCompleteSignal, Train2UnloadingCompleteSignal o Train3UnloadingCompleteSignal. Esa señal genera Trigger_Products_Unloaded y se limpia.

Confirme que el AOI del tren reciba In_UnloadingComplete, avance al siguiente estado y regrese a la secuencia de carga. Como EnableUnloadingStation1 se inicializa apagado, la lógica puede omitir la primera estación de descarga y usar la segunda como descarga principal.

multibelt-conveyor-control_imagen 2.jpg

multibelt-conveyor-control_imagen 2.jpg

Paso 13
 

Banda de entrada

Cuando RUN_CYCLE pasa a activo se genera un pulso de inicio para _03_AxBelt y AxBelt_CycleState pasa a estado 10. En ese estado se ejecuta un jog de In_Belt con los parametros de velocidad, aceleracion, deceleracion y jerk configurados, y cuando In_Belt.JogStatus confirma, el estado avanza a 20. Al apagarse RUN_CYCLE, _03_AxBelt emite otro comando de jog con velocidad cero para detener la banda, y AxBelt_CycleState vuelve a 0 cuando In_Belt.JogStatus se apaga.

Paso 14
 

Monitoreo recomendado durante la ejecucion

Grupo Tags a observar

Estado general

RUN_CYCLE, RunCycleEnabled, RunCycleState, ApplicationMotionError, AbortCycle, MultiBelt_Cycle_Error 

Ejes

AxesON, AxesAvailableState, AxesFaultedState, AxesTorqueDisabled

Trenes

Sts_IP y Sts_ER de Train_1_AOI, Train_2_AOI y Train_3_AOI; Train_1_TargetPosition, Train_2_TargetPosition y Train_3_TargetPosition 

Q_MAM

IP, PC, ER, ERR y EXERR de Train1_QMAM, Train2_QMAM y Train3_QMAM

Visualizacion

To_E3D_T1_CmdPos, To_E3D_T2_CmdPos, To_E3D_T3_CmdPos 

 

Para observar el comportamiento dinámico conviene usar las tendencias ya existentes en el proyecto: Q_MAM_V3, Train1To2Distance, Train1_LinkedParametersOutput_PP, Train1_QMAM_Sts_QueueLeader, Trains, Trains1n2 y Train_1.

Paso 15
 

Paro normal

Active momentaneamente StopCycle_Cmd. RUN_CYCLE se apaga y RunCycleState vuelve a 0. _01_MultiBelt limpia Cmd_Q_MAM_Exe en los tres AOIs de tren y emite comandos de paro para Ax_Train1, Ax_Train2 y Ax_Train3 con la deceleración y el jerk configurados, mientras _03_AxBelt detiene In_Belt. Confirme que los ejes queden sin movimiento activo antes de deshabilitar torque.

Paso 16
 

Paro por falla o aborto

Si ocurre ApplicationMotionError, se activan StopCycle_Cmd y AbortCycle, RUN_CYCLE se apaga, los comandos Q_MAM se limpian y se ejecutan paros de movimiento para los tres trenes. Identifique el origen de la falla en Train1_QMAM.ER, Train2_QMAM.ER y Train3_QMAM.ER, en Sts_ER de los tres AOIs de tren, en AxesFaultedState y en Train_SafeTorqueOff.Sts_ER.

Corrija la causa raíz antes de resetear. Ejecute luego el procedimiento de reset de fallas mediante FaultReset_Cmd y repita el arranque de ejes y el arranque de ciclo solo cuando no existan fallas activas.

Paso 17
 

Apagado del sistema

Ejecute primero el paro normal con StopCycle_Cmd y confirme que no exista movimiento activo. Si se requiere dejar el sistema sin servo habilitado, desactive los ejes mediante AxesOff_Cmd: _99_AxManager genera los comandos de desactivación para los ejes que estén activados y AxesON queda apagado. Aplique después las condiciones de seguridad o STO segun el procedimiento de la máquina, y coloque el controlador en modo Program solo si el procedimiento de planta lo requiere.

Condiciones esperadas de una ejecución correcta

  • Axes.GroupSynced activo y TrainsConfCorrect activo.
  • AxesON activo después del arranque y RunCycleEnabled activo.
  • RUN_CYCLE activo durante la operación.
  • Los tres AOIs de tren sin Sts_ER y los tres Q_MAM sin ER.
  • Los comandos Cmd_Q_MAM_Exe se activan por solicitud de movimiento y se limpian al completarse PC.
  • Las posiciones objetivo cambian conforme se cargan vagones y se avanza hacia las estaciones de descarga.
  • La distancia entre trenes se mantiene sobre la distancia mínima configurada.
  • El paro normal apaga el ciclo y detiene trenes y banda.
 
multibelt-conveyor-control_imagen 1.jpg

multibelt-conveyor-control_imagen 1.jpg

multibelt-conveyor-control_imagen 2.jpg

multibelt-conveyor-control_imagen 2.jpg

 
 

Control De Cinta Multibelt

Versión 1.0 - Septiembre de 2026

 
 
AHIC White Logo

Reciba nuevas aplicaciones y novedades del Centro de Innovación directamente en su correo electrónico.

¡Suscríbase!
 
  1. Chevron LeftChevron Left Página principal de Rockwell Automation
  2. Chevron LeftChevron Left Asi...
  3. Chevron LeftChevron Left Sop...
  4. Chevron LeftChevron Left Descargas
  5. Chevron LeftChevron Left Application Hub - Innovation Center
  6. Chevron LeftChevron Left Control De Cinta Multibelt
El contenido de este sitio ha sido traducido mediante inteligencia artificial (IA) sin revisión humana o ediciones. El contenido podría contener errores o inexactitudes, y se proporciona “tal cual” sin ninguna garantía. El texto oficial es la versión en inglés del contenido.
Actualice sus preferencias de cookies para continuar.
Esta función requiere cookies para mejorar su experiencia. Actualice sus preferencias para permitir estas cookies.:
  • Cookies de Redes Sociales
  • Cookies Funcionales
  • Cookies de Performance
  • Cookies de Marketing
  • Todas las cookies
Puede actualizar sus preferencias en cualquier momento. Para más información, vea nuestro {0} Política de Privacidad
CloseClose