Loading
Innovation Center LOGO
Recent ActivityRecent Activity

Controle De Esteira Multibelt

Comissione e opere um sistema MultiBelt sincronizado de três trens, mantendo a separação mínima por meio do controle de distância circular e feedforward de posição. - [Tempo de implementação: 30 minutos]
Innovation Center Home Page
Cardboard boxes on automated conveyor belt in smart warehouse with digital logistics hologram concept.
Innovation Center LOGO
  • Visão Geral
  • Guia de Implementação
  • Download
  • Contate-nos
  • Inscreva-se
Innovation Center Home Page
 
 

O que esta aplicação faz?

O projeto implementa uma aplicação de controle de movimento para um sistema MultiBelt composto por três trens ou carros sincronizados em um percurso circular. Cada trem se desloca entre uma estação de carregamento e uma ou duas estações de descarregamento, mantendo sua distância em relação ao trem anterior para evitar colisões ou aproximações abaixo de uma distância mínima configurada.

A aplicação é executada em um controlador GuardLogix/ControlLogix/CompactLogix e utiliza dois principais dispositivos de movimento: Drive_1 e Drive_2. Os eixos dos trens são nomeados Ax_Train1, Ax_Train2 e Ax_Train3, e também há um eixo de esteira de entrada chamado In_Belt, junto com o eixo Ax_Converter, todos agrupados no grupo de movimento Axes.

A lógica é organizada em três blocos. Main_Program governa a sequência geral: inicializa parâmetros e gerencia a partida, parada, reset de falhas, simulação de produto, coordenação do MultiBelt e gerenciamento dos eixos. Main_Motion_Prg executa os comandos de movimento Q_MAM e publica posições de comando para visualização ou integração externa. SafetyProgram gerencia a função Safe Torque Off dos trens por meio de AOIs de segurança codificadas.

O objetivo deste documento é comissionar a aplicação MultiBelt de três trens (ou uma configuração adaptada à necessidade), executar o ciclo, observar o movimento e pará-lo de forma controlada. O modo de uso previsto é um ambiente que suporte controle de movimento, com um grupo de eixos sincronizado, drives configurados e uma cadeia Safe Torque Off validada.

O problema que ela resolve é a coordenação de vários transportadores independentes no mesmo trilho fechado. A lógica impede que um trem alcance o trem à frente calculando a distância circular entre os eixos, aplicando uma distância mínima, alternando para o modo em fila quando o espaçamento diminui e propagando feedforward de posição do eixo anterior para o trem seguinte.

Limitações/Desvantagens

A aplicação não deve ser operada em equipamentos reais sem uma revisão de segurança, validação mecânica e autorização da pessoa responsável pela célula. As funções de movimento e segurança devem primeiro ser validadas em um ambiente seguro.

 
AHIC Download ICON VF.png

Downloads

Observação: você precisará concordar com os Termos e Condições de cada download.

Arquivos para download ›
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

Precisa de ajuda?

Se você precisar de ajuda com uma inscrição ou tiver um feedback do centro de inovação, escreva para nós.

 

Esta aplicação é relevante para mim?

É útil para qualquer pessoa que precise entender, comissionar ou demonstrar uma aplicação de transporte com vários carros coordenados no Studio 5000.

 

Áreas de Aplicação: Aplicações de transporte de produtos com carros ou trens independentes em um trilho fechado, onde cada transportador é carregado vagão por vagão em uma estação e descarregado em uma ou duas estações a jusante, e onde uma separação mínima entre transportadores deve ser garantida. O projeto também serve como demonstração de controle de movimento coordenado e de integração com visualização ou simulação externa por meio das tags To_E3D_T1_CmdPos, To_E3D_T2_CmdPos e To_E3D_T3_CmdPos.

 

Como posso fazer funcionar?

Requisitos: produtos, ferramentas e conhecimentos prévios.

Hardware:

  • Controlador 1756-L84ES ou equivalente, revisão principal 36.
  • Kinetix 5700/5500/5300

Software: 

  • Studio 5000 Logix Designer versão 36 ou posterior, compatível com projetos de movimento e segurança.
  • Arquivo de projeto Q_MAM_P_v3_GL.acd.

Conhecimento prévio

  • Programação no Studio 5000, controle de movimento CIP (grupo de eixos, modos de deslocamento, position unwind e as instruções MAM, MAJ, MAS e MRP), uso de Add-On Instructions e entendimento básico de aplicações de segurança com Safe Torque Off.
 
 
 
 
AHIC STEP ICON.png

Guia de Implementação

 
  1. Passo 1
  2. Passo 2
  3. Passo 3
  4. Passo 4
  5. Passo 5
  6. Passo 6
  7. Passo 7
  8. Passo 8
  9. Passo 9
  10. Passo 10
  11. Passo 11
  12. Passo 12
  13. Passo 13
  14. Passo 14
  15. Passo 15
  16. Passo 16
  17. Passo 17
Open All Close All
Passo 1
 
  • Glossário da aplicação: tarefas, programas e rotinas

     

    Para interpretar o procedimento, ajuda primeiro reconhecer os elementos que compõem o projeto. A divisão em três tarefas é importante porque os comandos de movimento devem ser executados no contexto correto do planejador, enquanto a segurança é executada em uma tarefa separada da classe Safety.

    Tarefa

    Tipo e período

    Conteúdo

    SafetyTask

    Tarefa periódica de segurança, 20 ms

    Executa SafetyProgram

    _01_MainTask

    Tarefa padrão periódica, 10 ms

    Executa a lógica principal da aplicação

    _03_MotionEventTask

    Evento de execução do grupo de movimento

    Executa a lógica de movimento sincronizada com o planejador de movimento

  • Programas e rotinas

     

    Programa

    Rotinas

    Função

    Main_Program

    Main_Rtn, _00_InitVar, _01_MultiBelt, _03_AxBelt, _99_AxManager

    Sequência geral da máquina: inicialização, reset de falha, partida, ciclo de execução, simulação de produto, coordenação do MultiBelt e gerenciamento dos eixos

    Main_Motion_Prg

    _MainMotion, Move_Commands, Output

    Execução dos movimentos Q_MAM e publicação das posições de comando escaladas

    SafetyProgram

    MainRoutine, Trains_SafeTorqueOff

    Gerenciamento do Safe Torque Off para os três trens

  • Add-On Instructions com lógica visível

    Q_MAM_P_V3

     

    Este é o componente de movimento mais importante. Ele implementa um Queued MAM Positive with Preceding Axis Position Feedforward: um movimento MAM positivo em fila com feedforward de posição baseado no eixo precedente. Ele recebe a posição-alvo (in_TargetPosition), seu próprio eixo (in_Axis), o eixo precedente (in_Axis_Preceding), o grupo de movimento (Cfg_MotionGroup), os parâmetros de movimento (Cfg_Q_MAM_Data) e as estruturas de troca de parâmetros vinculados compartilhadas entre os trens.

    multibelt-conveyor-control_imagen 1.jpg

    multibelt-conveyor-control_imagen 1.jpg

    Na partida, ele normaliza a posição-alvo em relação ao unwind do trilho (Track_Unwind): se o alvo exceder o unwind, ele calcula o múltiplo de voltas e mantém o alvo dentro da faixa circular. Ele verifica se o grupo de movimento está sincronizado e define o erro 1000 se não estiver; valida velocidade, aceleração, desaceleração e jerk e define o erro 1001 com códigos estendidos quando os valores são inválidos; define o erro 1002 se a tolerância do alvo for negativa.

     

    A lógica calcula a distância circular entre o eixo precedente e seu próprio eixo usando um módulo sobre Track_Unwind, e usa essa distância para decidir se o trem pode se mover livremente ou deve entrar em modo de fila. No modo de fila (Sts_Queued), o eixo segue o precedente mantendo Train_MinDistance: se houver espaço à frente, ele calcula um incremento de movimento, e se não houver, o incremento é zero. Ele também calcula um valor antecipado de feedforward (EarlyCommandValue) para que nenhum scan seja perdido no início do movimento.

     

    A condição de conclusão PC é definida quando o movimento está dentro da tolerância configurada e nenhum movimento está pendente. O status IP indica movimento em processo, e ER indica um erro na instrução ou em seus comandos internos de movimento.

  • AOI_MultiBelt_SingleTrain

    Gerencia a sequência de um único trem dentro do sistema MultiBelt. Ele determina a próxima posição-alvo com base no status de carregamento, no número de vagões carregados e nas estações de descarregamento.

     

    Quando habilitado pela primeira vez, inicializa Train_Cycle_State e Mem_Cycle_State, limpa erros e reseta o contador Train_Wagon_CTU.

     

    Ele verifica se Cfg_NumberOfWagons é maior que zero, se o array Cfg_Wagons é grande o suficiente, se Cfg_TrackUnwind é válido e se as posições de carregamento e descarregamento estão dentro da faixa do trilho; se qualquer verificação falhar, ele define Sts_ER com os códigos 1005, 1006, 1007, 1008 ou 1009.

    Estado

    Ação do trem

    0

    Aguarda o início do ciclo

    10

    Comanda um movimento para a estação de carregamento (Cfg_LoadingStation_Position)

    20

    Aguarda a confirmação de que o movimento Q_MAM está completo

    30

    O trem está na estação de carregamento e processa os gatilhos de produto

    50

    Se a estação de descarregamento 1 estiver habilitada, comanda um movimento até ela

    60

    Aguarda a chegada e o descarregamento na estação 1

    70

    Comanda um movimento para a estação de descarregamento 2

    100

    Aguarda a chegada e o descarregamento na estação 2, depois retorna ao estado 10

  • O estado 999 corresponde a pausa ou erro. Quando In_LoadingStation_ProductTrigger chega, a AOI conta um vagão com Train_Wagon_CTU e, se nem todos os vagões ainda estiverem carregados, calcula uma nova posição de carregamento adicionando o tamanho do último vagão carregado e aplicando um módulo com Cfg_TrackUnwind, o que gera alvos sucessivos ao redor do trilho circular.

     

    A saída Cmd_Q_MAM_Exe é definida quando o trem deve se mover, e Out_TrainTargetPosition passa a posição-alvo para a AOI Q_MAM_P_V3.

    multibelt-conveyor-control_imagen 1.jpg

    multibelt-conveyor-control_imagen 1.jpg

  • AOI_MotionPlannerCountDown

    Calcula informações de temporização para o planejador de movimento. Ele lê TimeOffset, CoarseUpdatePeriod, StartTime e CycleStartTime do grupo de movimento, lê o tempo CST atual e o converte para o tempo do planejador.

     

    A partir desses valores, obtém TimeLeft (tempo restante até a próxima chamada do planejador), TimeElapsed (tempo decorrido desde a última execução) e ActualizationTimeOffset (diferença entre o início do ciclo e o início do grupo).

     

    Se o grupo de movimento não estiver sincronizado, define ER.

  • AOI_ReadInterpolatedActualPosition

     

    Lê posições interpoladas de um eixo CIP. Obtém o tempo CST atual, adiciona TimeOffset a ele, grava esse tempo como InterpolationTime do eixo e copia Axis.InterpolatedActualPosition e Axis.InterpolatedCommandPosition para suas saídas.

     

    Nesta aplicação, é usado para estimar com mais precisão a posição de comando de um eixo dentro do intervalo do planejador e alimentar o cálculo de feedforward.

  • Add-On Instructions codificadas

    As AOIs raM_Opr_EventCreate, _raM_Opr_DvcStateModel, _raM_Dvc_ModulePresent, raM_Dvc_CIPAxis e raM_Opr_SafeTrqOff_CD são seladas, e sua lógica interna não pode ser inspecionada a partir do L5X. Sua função é inferida a partir de seus nomes e interfaces visíveis: raM_Dvc_CIPAxis gerencia os dispositivos CIP e os eixos associados aos drives, e raM_Opr_SafeTrqOff_CD implementa o Safe Torque Off dos drives.

Passo 2
 

Preparação do ambiente

Abra o arquivo Q_MAM_P_v3_GL.acd em um ambiente de programação que suporte projetos Logix versão 36 e verifique se o controlador de destino é um 1756-L84ES ou compatível, revisão principal 36.

Antes de continuar, confirme que existem: as tarefas SafetyTask, _01_MainTask e _03_MotionEventTask; os programas Main_Program, Main_Motion_Prg e SafetyProgram; os eixos Ax_Train1, Ax_Train2, Ax_Train3, Ax_Converter e In_Belt; o grupo de movimento Axes; e os módulos de drive Drive_PowerSupply, Drive_1 e Drive_2 com seus endereços.

Confirme também que as AOIs necessárias estão presentes no projeto.

Passo 3
 

Revisão antes do download

Verifique se os eixos estão corretamente atribuídos aos seus drives e se os parâmetros de movimento são seguros para o equipamento ou para o simulador. Verifique se as posições iniciais esperadas são compatíveis com a mecânica, se as condições mecânicas permitem movimento positivo ao redor do trilho circular e se o sistema consegue parar os trens com a desaceleração configurada.

Posições iniciais de comando e estações

Elemento

Valor esperado

Ax_Train1 - posição inicial de comando

2000

Ax_Train2 - posição inicial de comando

1500

Ax_Train3 - posição inicial de comando

1000

LoadingStationPosition

1650.0

UnloadingStationPosition_1

200.0

UnloadingStationPosition_2

300.0

Configuração dos trens e parâmetros Q_MAM

Parâmetro

Valor

T1_NofWagons, T2_NofWagons, T3_NofWagons

4

Tamanhos dos vagões por trem

60, 120, 60, 60

Comprimento calculado por trem

300

Q_MAM speed

2500

Aceleração Q_MAM

15000

Desaceleração Q_MAM

15000

Jerk de aceleração

33

Jerk de desaceleração

33

Tolerância da posição-alvo

0.05

Unwind calculado do trilho

aproximadamente 2072,5

Passo 4
 

Download e modo de execução

Fique online com o controlador ou com o ambiente de simulação e faça o download do projeto. Se um download completo for necessário, coloque o controlador em modo Program; quando o download for concluído, altere para o modo Run ou Remote Run.

Verifique se _01_MainTask é executada periodicamente a cada 10 ms, se _03_MotionEventTask está associada ao evento Motion Group Execution e se SafetyTask é executada a cada 20 ms. Por fim, confirme se o grupo Axes está sincronizado por meio de Axes.GroupSynced: essa condição habilita toda a sequência seguinte.

Passo 5
 

Inicialização automática

Quando o scan começa, Main_Rtn aguarda Axes.GroupSynced ficar ativo e inicia o temporizador ProgramScanDelay. Enquanto ProgramScanDelay.DN não estiver definido, Main_Rtn chama _00_InitVar e interrompe temporariamente o restante do scan da aplicação com TND, para que as variáveis de configuração e posição sejam inicializadas antes que as sequências normais sejam permitidas.

_00_InitVar define InitializeVariables e redefine internamente as posições de comando dos trens quando elas não correspondem às posições iniciais esperadas. Em seguida, usa instruções GSV para ler o CoarseUpdatePeriod do grupo Axes e convertê-lo para segundos, e lê TravelMode, ConversionConstant e PositionUnwind de cada eixo para calcular Train1_Unwind, Train2_Unwind e Train3_Unwind.

Se os três valores de unwind forem iguais e os três eixos tiverem TravelMode igual a 2, o valor comum é copiado para Trains_Unwind e TrainsConfCorrect é definido. A rotina então carrega as posições das estações, deixa EnableUnloadingStation1 desligado, configura os quatro vagões por trem com seus tamanhos, calcula o comprimento de cada trem usando loops LBL e JMP, e grava os parâmetros Q_MAM comuns em Train_1_QMAM_Data, que são então copiados para Train_2_QMAM_Data e Train_3_QMAM_Data.

Por fim, ela atribui a distância mínima de cada trem com base no comprimento do trem precedente e desliga RUN_CYCLE e CycleSimulationEnabled, deixando o sistema em um estado seguro de espera.

Passo 6
 

Verificação de segurança antes da partida

Confirme se as entradas Safe Torque Off dos drives estão saudáveis, se Train_SafeTorqueOff.Inp_SafetyInterlockOK está ativo, se não há erros ativos em Train_SafeTorqueOff.Sts_ER e se Train_SafeTorqueOff.Sts_TorqueDisabled reflete corretamente o estado de STO dos trens. Se um reset de segurança for necessário, defina momentaneamente SafetyResetRequest.

SafetyProgram.MainRoutine copia essa solicitação para Train_SafeTorqueOff.Cmd_Reset e chama Trains_SafeTorqueOff, que distribui Cmd_Reset, Cfg_AutoReset, Cfg_StopCategory e Cfg_StopTime para as três instâncias internas _Trains_SafeTorqueOff_M1, _Trains_SafeTorqueOff_M2 e _Trains_SafeTorqueOff_M3. M1 e M2 estão conectadas aos sinais de segurança 1 e 2 do Drive_1, e M3 ao sinal de segurança 1 do Drive_2.

Train_SafeTorqueOff.Sts_TorqueDisabled é definido quando todas as três instâncias reportam torque desabilitado, e Sts_MotionStop quando todas as três reportam movimento parado. Se qualquer instância reportar um erro, seus códigos Sts_ERR e Sts_EXERR são copiados para o objeto global e Train_SafeTorqueOff.Sts_ER é definido. Não solicite uma partida enquanto as condições de segurança estiverem inibindo o movimento.

Passo 7
 

Reset de falha da aplicação

Defina momentaneamente FaultReset_Cmd. A sequência FaultResetCycle percorre estados numerados e termina em 999 quando o reset é concluído com sucesso.

Estado de FaultResetCycle

O que deve acontecer

10

Confirme se o intertravamento de segurança está OK e se AxesTorqueDisabled reflete o estado esperado para reset; SafetyResetCmd é gerado quando aplicável. O ciclo avança para 20 quando o torque não estiver mais desabilitado

20

Se AxesFaultedState estiver ativo, AxesResetFault_Cmd é definido e _99_AxManager gera ClearFaults para os eixos em falha. O ciclo avança para 30 quando nenhum eixo estiver em falha

30

ApplicationMotionError é limpo se estiver ativo e, se AbortCycle existir, Trains_ResetCycle é gerado

999

Ciclo de reset concluído

Passo 8
 

Inicialização dos eixos

Verifique se AxesAvailableState está ativo, AxesFaultedState está inativo e AxesTorqueDisabled está inativo antes de habilitar o movimento. Em seguida, defina momentaneamente StartUp_Cmd e confirme se StartUpCycle avança para o estado 10.

AxesOn_Cmd é definido quando os eixos estão disponíveis, sem falha, sem torque desabilitado e ainda não ativados. Em _99_AxManager, você deve ver AxT1_Ctrl_Cmd.Activate, AxT2_Ctrl_Cmd.Activate e AxT3_Ctrl_Cmd.Activate serem gerados, desde que o eixo correspondente não tenha Safe Torque Disabled e o dispositivo esteja disponível. Quando AxT1_Ctrl_Sts.Activated, AxT2_Ctrl_Sts.Activated e AxT3_Ctrl_Sts.Activated estiverem todos ativos, AxesON se torna verdadeiro e StartUpCycle termina em 999.

Passo 9
 

Início do ciclo MultiBelt

Com AxesON, TrainsConfCorrect e RunCycleEnabled ativos, defina momentaneamente RunCycle_Cmd. RunCycleState avança para o estado 10 e RUN_CYCLE é travado. Se a execução não for permitida, a sequência é invalidada com um estado negativo.

_01_MultiBelt define Enable_MultiBelt_AOI quando Axes.GroupSynced e InitializeVariables são verdadeiros e Trains_ResetCycle não está ativo. Isso executa as três instâncias Train_1_AOI, Train_2_AOI e Train_3_AOI de AOI_MultiBelt_SingleTrain. Cada instância recebe seu array de tamanhos de vagão, o número de vagões, as posições de carregamento e descarregamento, o unwind do trilho, o status RUN_CYCLE, o gatilho de produto In_ProductTrigger, o sinal de descarregamento concluído e o status de movimento concluído do seu Q_MAM, e retorna Out_TrainTargetPosition.

A rotina declara MultiBelt_Ready quando o ciclo está ativo e pelo menos um trem está na estação de carregamento, e consolida os erros das AOIs: se qualquer trem reportar Sts_ER, MultiBelt_Cycle_Error é definido e RUN_CYCLE é desligado. Cada AOI define Cmd_Q_MAM_Exe quando precisa mover seu trem.

Passo 10
 

Execução do movimento Q_MAM

Move_Commands bloqueia sua execução enquanto ProgramScanDelay.DN não estiver definido, o que evita que comandos de movimento sejam enviados antes que a inicialização esteja concluída. Em seguida, chama a AOI Q_MAM_P_V3 para cada trem quando a AOI correspondente do trem solicita isso por meio de Cmd_Q_MAM_Exe. O encadeamento dos eixos precedentes e dos parâmetros vinculados é circular.

Trem

Instância Q_MAM

Alvo

Eixo

Eixo precedente

Parâmetros vinculados (entrada / saída)

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

Monitore Train1_QMAM.PC, Train2_QMAM.PC e Train3_QMAM.PC: cada Cmd_Q_MAM_Exe deve ser limpo quando seu Q_MAM correspondente reportar PC, o que transforma cada solicitação em uma execução controlada e evita que o mesmo comando seja executado continuamente novamente. Observe também Train1_QMAM.ER, Train2_QMAM.ER e Train3_QMAM.ER para detectar erros de movimento, e Sts_Queued, Sts_QueueLeader, inf_TrainsActualDistance e Sts_Mover_WayFree em cada Q_MAM para validar o espaçamento entre os trens.

Passo 11
 

Carregamento de produto

Para um teste manual, gere um pulso em In_ProductTrigger. Para usar a simulação, defina CycleSimulationEnabled enquanto RUN_CYCLE estiver ativo: ProductGenerationTimeDelay temporiza a geração de produto, InfeedBeltProductInput_FallingEdge gera um pulso, e esse pulso define In_ProductTrigger por um scan.

Confirme que a AOI do trem na estação de carregamento incrementa seu contador Train_Wagon_CTU e que o alvo de carregamento avança de acordo com o tamanho do vagão carregado. Repita até que os quatro vagões configurados estejam completos: quando o contador os alcança, o trem é resetado e avança para a sequência de descarregamento.

Passo 12
 

Descarregamento de produto

Observe Sts_TrainAtUnloadingStation1 e Sts_TrainAtUnloadingStation2 em Train_1_AOI, Train_2_AOI e Train_3_AOI. Quando um trem chega a uma estação de descarregamento, seu temporizador correspondente (UnloadTrain1, UnloadTrain2 ou UnloadTrain3) inicia e, quando termina, o sinal de descarregamento concluído Train1UnloadingCompleteSignal, Train2UnloadingCompleteSignal ou Train3UnloadingCompleteSignal é gerado. Esse sinal gera Trigger_Products_Unloaded e então é limpo.

Confirme que a AOI do trem recebe In_UnloadingComplete, avança para o próximo estado e retorna à sequência de carregamento. Como EnableUnloadingStation1 é inicializado desligado, a lógica pode pular a primeira estação de descarregamento e usar a segunda como principal ponto de descarregamento.

multibelt-conveyor-control_imagen 2.jpg

multibelt-conveyor-control_imagen 2.jpg

Passo 13
 

Esteira de entrada

Quando RUN_CYCLE fica ativo, um pulso de partida é gerado para _03_AxBelt e AxBelt_CycleState avança para o estado 10. Nesse estado, In_Belt é movimentado em jog com a velocidade, aceleração, desaceleração e parâmetros de jerk configurados, e assim que In_Belt.JogStatus confirma, o estado avança para 20. Quando RUN_CYCLE desliga, _03_AxBelt emite outro comando de jog com velocidade zero para parar a esteira, e AxBelt_CycleState retorna para 0 quando In_Belt.JogStatus desliga.

Passo 14
 

Monitoramento recomendado durante a execução

Grupo

Tags a monitorar

Status geral

RUN_CYCLE, RunCycleEnabled, RunCycleState, ApplicationMotionError, AbortCycle, MultiBelt_Cycle_Error

Eixos

AxesON, AxesAvailableState, AxesFaultedState, AxesTorqueDisabled

Trens

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

Q_MAM

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

Visualização

To_E3D_T1_CmdPos, To_E3D_T2_CmdPos, To_E3D_T3_CmdPos

 

Para observar o comportamento dinâmico, use as tendências já incluídas no projeto: Q_MAM_V3, Train1To2Distance, Train1_LinkedParametersOutput_PP, Train1_QMAM_Sts_QueueLeader, Trains, Trains1n2 e Train_1.

Passo 15
 

Parada normal

Defina momentaneamente StopCycle_Cmd. RUN_CYCLE desliga e RunCycleState retorna para 0. _01_MultiBelt limpa Cmd_Q_MAM_Exe nas três AOIs dos trens e emite comandos de parada para Ax_Train1, Ax_Train2 e Ax_Train3 com a desaceleração e jerk configurados, enquanto _03_AxBelt para In_Belt. Confirme que os eixos não têm movimento ativo antes de desabilitar o torque.

Passo 16
 

Parada por falha ou aborto

Se ocorrer ApplicationMotionError, StopCycle_Cmd e AbortCycle são definidos, RUN_CYCLE desliga, os comandos Q_MAM são limpos e paradas de movimento são executadas para os três trens. Identifique a origem da falha em Train1_QMAM.ER, Train2_QMAM.ER e Train3_QMAM.ER, em Sts_ER das três AOIs dos trens, em AxesFaultedState e em Train_SafeTorqueOff.Sts_ER.

Corrija a causa raiz antes de resetar. Em seguida, execute o procedimento de reset de falha usando FaultReset_Cmd, e repita a inicialização dos eixos e o início do ciclo somente quando não houver falhas ativas.

Passo 17
 

Desligamento do sistema

Primeiro execute a parada normal com StopCycle_Cmd e confirme que não há movimento ativo. Se o sistema precisar ser deixado com os servos desabilitados, desative os eixos com AxesOff_Cmd: _99_AxManager gera os comandos de desativação para os eixos ativados e AxesON desliga. Em seguida, aplique as condições de segurança ou STO de acordo com o procedimento da máquina, e coloque o controlador em modo Program somente se o procedimento da planta exigir.

Condições esperadas para uma execução correta

  • Axes.GroupSynced ativo e TrainsConfCorrect ativo.
  • AxesON ativo após a inicialização e RunCycleEnabled ativo.
  • RUN_CYCLE ativo durante a operação.
  • As três AOIs dos trens sem Sts_ER e as três instâncias Q_MAM sem ER.
  • Os comandos Cmd_Q_MAM_Exe são definidos em cada solicitação de movimento e limpos quando PC é alcançado.
  • As posições-alvo mudam à medida que os vagões são carregados e os trens avançam em direção às estações de descarregamento.
  • A distância entre os trens permanece acima da distância mínima configurada.
  • A parada normal desliga o ciclo e para os trens e a esteira.
 
multibelt-conveyor-control_imagen 1.jpg

multibelt-conveyor-control_imagen 1.jpg

multibelt-conveyor-control_imagen 2.jpg

multibelt-conveyor-control_imagen 2.jpg

 
 

Controle De Esteira Multibelt

Versão 1.0 - Setembro de 2026

 
 
AHIC White Logo

Receba novas aplicações e novidades do Centro de Inovação diretamente em seu e-mail.

Inscreva-se
 
  1. Chevron LeftChevron Left Página inicial da Rockwell Automation
  2. Chevron LeftChevron Left Sup...
  3. Chevron LeftChevron Left Sup...
  4. Chevron LeftChevron Left Downloads
  5. Chevron LeftChevron Left Innovation Center
  6. Chevron LeftChevron Left Controle De Esteira Multibelt
O conteúdo deste site foi traduzido usando inteligência artificial (IA) sem revisão nem edição humana. O conteúdo pode conter erros ou imprecisões e é fornecido “da forma como está” sem nenhum tipo de garantia. O texto oficial é a versão em inglês.
Atualize suas preferências de cookies para continuar.
Este recurso requer cookies para melhorar sua experiência. Atualize suas preferências para permitir esses cookies:
  • Cookies de Redes Sociais
  • Cookies Funcionais
  • Cookies de Desempenho
  • Cookies de Marketing
  • Todos os Cookies
Você pode atualizar suas preferências a qualquer momento. Para mais informações, consulte nosso {0} Política de Privacidade
CloseClose