MENU
    Gerenciamento de estados de máquinas e contagens de peças com Edge IO e Node-RED
    • 04 Nov 2023
    • 9 Minutos para Ler
    • Contribuintes

    Gerenciamento de estados de máquinas e contagens de peças com Edge IO e Node-RED


    Resumo do artigo

    Gerenciando estados de máquinas e contagens de peças com o Edge IO e o Node-RED

    Saiba como usar o fluxo do Node-RED de visibilidade da máquina com seu Edge IO

    Este artigo aborda o fluxo de trabalho para conectar um sensor de feixe de ruptura e um sensor de corrente a um Edge IO para gerenciar o estado e contar peças no Tulip. Isso utiliza um fluxo de biblioteca Tulip Node-RED que pode ser importado para um dispositivo de borda do cliente.

    Ao final deste artigo, você terá o seguinte fluxo no Node-RED para enviar dados de seus sensores conectados a uma máquina no Tulip.

    Você precisará concluir as etapas a seguir:

    1. Configuração de hardware: Conectar o Edge IO
    2. Configuração da máquina: Criar uma máquina no Tulip
    3. Configuração do Node-RED: Importar, editar e implementar um fluxo Node-RED da biblioteca do Tulip

    O que você precisará é de:

    • Um Edge IO registrado na sua conta do Tulip

    • Sensor de corrente: CR3111-3000 ou outro transformador de corrente semelhante

      • Um resistor de carga de tamanho correto para o transformador de corrente, recomendado 100 ohms se for o CR3111-3000 (consulte Configuração de hardware para saber o tamanho)
      • Feixe de ruptura
      • Chave de fenda de cabeça chata de 3,5 mm

    1. Configuração de hardware - Conectar o Edge IO

    Este fluxo de trabalho pressupõe que você usará um transformador de corrente e um feixe de interrupção conectado a um Edge IO.

    Cálculo do tamanho do resistor de carga: Se estiver usando o CR3111-3000, recomendamos um resistor de 100 ohms. Se estiver usando um grampo de corrente diferente, você poderá calcular o tamanho máximo permitido do resistor(R_burden) a partir da relação de espiras efetiva(T_e) e da corrente máxima a ser medida(I_max) da seguinte forma: R_burden = 3,12 * T_e / I_max. Seu resistor pode ser menor do que o tamanho máximo de resistor permitido; isso reduzirá a resolução do sensor.

    Conecte o grampo de corrente (CR3111-3000) e o feixe de interrupção ao Edge IO da seguinte forma:

    • Pinça de corrente

      • Medição da corrente CA através do cabo de alimentação em sua máquina
      • Conecte o resistor entre os dois fios do grampo de corrente, conforme mostrado
      • Conecte um fio ao terminal ADC diferencial [+] e um fio ao terminal ADC diferencial [-].
      • Feixe de ruptura
      • Capturando a criação da peça
      • Conecte o fio marrom (+24V) ao terminal de +24V no SAR ADC
      • Conecte o fio azul (gnd) ao terminal de aterramento do banco de entrada digital
      • Conecte o fio preto (out) ao pino 1 do banco de entrada digital

    Além disso, certifique-se de ter ligado o dispositivo e conectado o dispositivo à sua rede, conectando um cabo Ethernet à porta WAN.

    2. Configuração da máquina - Criar uma máquina no Tulip

    Para enviar dados do feixe de luz e do sensor de corrente para o Tulip, vamos primeiro configurar uma máquina usando a API do Tulip como fonte de dados. Consulte a seção Configurando uma nova máquina do artigo Como usar a API de atributos de máquina para obter uma visão geral detalhada.

    Neste exemplo, criamos uma máquina com dois atributos:

    1. Current (float) - representa a corrente retornada pelo sensor.
    2. Part Count (int) - sinal do feixe de ruptura indicando a conclusão de uma peça.

    Você deverá anotar os valores attributeId e machineId para passar para o fluxo do Node-RED.

    Também é possível configurar um tipo de máquina para atribuir à máquina se você planeja usar o sensor atual para alterar aspectos como o estado da máquina ou realizar qualquer contagem com base nas saídas do sensor. Consulte Como configurar tipos de máquina se isso for de seu interesse.

    3. Configuração do Node-RED

    Abra o Edge Device Portal no Edge IO conectado ao break beam e aos sensores de corrente. Inicie o Node-RED Editor usando as seguintes credenciais:

    • Nome de usuário: admin
    • Senha: Sua senha do Edge IO

    Veja mais informações aqui para começar a usar o Node-RED no Edge IO.

    3a. Importar fluxo da biblioteca

    Para importar o fluxo da biblioteca, siga as etapas em nosso documento Importing Tulip Node-RED Flows (Importando fluxos do Tulip Node-RED ). O fluxo a ser importado é machine_visibility.json e a importação cria a guia Machine Visibility with Current Clamp and Breakbeam no editor.

    3b. Visão geral do fluxo

    Esse fluxo é composto por dois fluxos de trabalho separados:

    Contador de peças

    O primeiro caminho é monitorar a contagem de peças por meio de um sensor de feixe de ruptura. Esse fluxo é composto por quatro nós funcionais:

    1. Monitorar pino

      • Objetivo: definir o(s) pino(s) GPIO no Edge IO para monitorar por meio da propriedade do pino habilitado.
      • Filtro para pinUp
      • Objetivo: A partir da carga útil da mensagem, determinar se o evento no(s) pino(s) monitorado(s) é verdadeiro.
      • Incrementar contagem de peças
      • Finalidade: Incrementar a contagem de peças da variável de fluxo em um evento de pino verdadeiro.
      • Atributo da máquina Tulip: Contagem de peças
      • Finalidade: Enviar o payload (partCount) para a Tulip via API.

    Monitorar corrente RMS

    O segundo caminho é monitorar um sensor de corrente conectado à entrada do ADC (conversor analógico-digital). Esse fluxo é composto por seis nós funcionais.

    1. Leituras diferenciais de ADC

      • Objetivo: Atribuir o perfil de configuração analógica à entrada do ADC.
      • Filtrar 1/5 leituras
      • Objetivo: Extrair cada quinta medição (5 segundos) para passar para o Tulip.
      • Passar mensagem
      • Propósito: Redefinir a contagem de leituras para cada quinta mensagem de volta a zero.
      • Drop message & increment
      • Objetivo: Para todas as outras leituras, incrementar a contagem de leituras em 1.
      • Escala do CR-3111
      • Finalidade: Dimensionar a medição do sensor com base nas especificações do fabricante.
      • Atributo da máquina Tulip: Corrente RMS
      • Finalidade: Enviar o payload (partCount) para a Tulip via API.

    Há também quatro nós opcionais que são desativados por padrão, mas podem ser ativados para ter um estado de máquina determinado pelo Node-RED. Observe que também é possível usar Machine Triggers no Tulip para executar essa mesma lógica.

    1. A corrente é > 100mA?

      • Objetivo: verificar se o valor da corrente é maior que 100 mA.
      • Estado = ON
      • Objetivo: Definir a carga útil como ON se a corrente for maior que 100 mA.
      • Estado = OFF
      • Finalidade: Definir a carga útil como OFF se a corrente for menor ou igual a 100 mA.
      • Atributo da máquina Tulip: State (Estado)
      • Finalidade: Enviar o payload (estado) para a Tulip via API.

    3c. Editar o fluxo

    Para concluir a configuração desse fluxo, as informações do dispositivo para Tulip Machine Attribute: Part Count e Tulip Machine Attribute: RMS Current nodes devem ser incluídas com os campos attributeId e machineIdda máquina configurada anteriormente.

    Dependendo do sensor utilizado, você pode editar adicionalmente o nó CR-3111 Scaling para refletir a relação de espiras do seu transformador de corrente.

    3d. Implantar o fluxo

    Com o fluxo do Node-RED criado e os parâmetros necessários adicionados, você pode implantar o fluxo e começar a ver os dados do feixe de ruptura e da saída dos sensores de corrente para o Tulip.

    Ao selecionar a opção Mensagem de depuração no lado direito do Editor do Node-RED, você poderá ver as respostas e os códigos de status correspondentes da API do Tulip.

    Para obter mais informações sobre os códigos de status, navegue até a documentação da API em sua instância do Tulip (ou seja, .tulip.co/apidocs). Especificamente, consulte a documentação do endpoint POST /attributes/report.

    Agora você também poderá ver os dados no Tulip, navegando até a guia de configuração da máquina.

    Detalhes técnicos do fluxo do Node-RED

    Abaixo está um resumo detalhado dos nós e seus parâmetros de configuração padrão importados com o arquivo machine_visibility.json.

    Contador de peças

    1. Pino do monitor

      • Objetivo: definir o(s) pino(s) GPIO no Edge IO para monitorar por meio da propriedade do pino habilitado.

      • Tipo de nó: Entrada digital

      • Propriedades padrão:

        • Modo de execução - Contínuo
        • Taxa de atualização - 1 segundo
        • Pinos habilitados - 1
        • Filtro para pinUp
      • Objetivo: A partir da carga útil da mensagem, determinar se o evento no(s) pino(s) monitorado(s) é verdadeiro.

      • Tipo de nó: Switch

      • Propriedades padrão:

        • Propriedade - msg.payload
        • Regras - é verdadeiro
        • Incrementar contagem de peças
      • Finalidade: Incrementar a contagem de partes da variável de fluxo no evento de pino true.

      • Tipo de nó: Alterar

      • Propriedades padrão:

        • Regras:

          • Definir flow.partCount como a expressão $flowContext('partCount') + 1
          • Definir msg.payload como flow.partCount
          • Atributo da Tulip Machine: Contagem de peças
      • Finalidade: Enviar o payload (partCount) para a Tulip via API.

      • Tipo de nó: Atributo de máquina

      • Propriedades padrão:

        • Informações do dispositivo* - {"attributeId":"", "machineId":""}
        • Fonte do atributo - msg.payload

    Monitorar corrente RMS

    1. Leituras diferenciais de ADC

      • Objetivo: atribuir o perfil de configuração analógica à entrada do ADC.

      • Tipo de nó: Analógico de alta velocidade

      • Propriedades padrão:

        • Analog Config - Differential ADC RMS @ 1kHZ

          • Selecionar ADC para configurar - ADC diferencial
          • Saídas ativadas - RMS
          • Tamanho do buffer - 1000
          • Frequência de amostragem (Hz) - 1000+ Tipo de dados - RMS+ Modo de saída - Contínuo+ Taxa de atualização (segundos) - 1
          • Filtrar 1/5 leituras
      • Objetivo: Extrair cada quinta medição (5 segundos) para passar para o Tulip.

      • Tipo de nó: Switch

      • Propriedades padrão:

        • Propriedade - flow.numReadings

        • Regras:

          • == 4
          • caso contrário
          • Passar mensagem
      • Objetivo: Redefinir a contagem de leituras para cada quinta mensagem de volta a zero.

      • Tipo de nó: Modificar

      • Propriedades padrão:

        • Regras:

          • Definir flow.numReadings como 0
          • Eliminar mensagem e incrementar
      • Objetivo: Para todas as outras leituras, incrementar a contagem de leituras em 1.

      • Tipo de nó: Alterar

      • Propriedades padrão:

        • Regras:

          • Definir flow.numReadings como a expressão $flowContext('numReadings') + 1
          • Escala do CR-3111
      • Objetivo: Dimensionar a medição do sensor com base nas especificações do fabricante.

      • Tipo de nó: Modelo de subfluxo

      • Propriedades padrão:

        • Propriedade - dados
        • Escala* - 3000
        • Deslocamento - 0
        • Atributo da máquina Tulip: Corrente RMS
      • Finalidade: Enviar a carga útil (partCount) para a Tulip via API.

      • Tipo de nó: Atributo de máquina

      • Propriedades padrão:

        • Informações do dispositivo* - {"attributeId":"", "machineId":""}
        • Fonte do atributo - msg.data[0]

    Subfluxo para calcular o estado da máquina

    1. A corrente é > 100mA?

      • Finalidade: Verificar se o valor da corrente é maior que 100 mA.

      • Tipo de nó: Interruptor

      • Propriedades padrão:

        • Propriedade - msg.data[0]

        • Regras:

          • > 0.1
          • caso contrário
          • Estado = ON
      • Objetivo: Definir a carga útil como ON se a corrente for maior que 100 mA.

      • Tipo de nó: Modificar

      • Propriedades padrão:

        • Regras:

          • Definir msg.payload como ON
          • Estado = OFF
      • Objetivo: definir a carga útil como OFF se a corrente for menor ou igual a 100 mA.

      • Tipo de nó: Modificar

      • Propriedades padrão:

        • Regras:

          • Definir msg.payload como OFF
          • Atributo da máquina Tulip: Estado
      • Objetivo: Enviar o payload (estado) para a Tulip via API.

      • Tipo de nó: Atributo de máquina

      • Propriedades padrão:

        • Informações do dispositivo* - {"attributeId":"", "machineId":""}
        • Fonte do atributo - msg.payload

    * Os parâmetros devem ser atualizados para que o fluxo funcione adequadamente. O valor da escala do sensor atual deve ser modificado de acordo com a recomendação do fabricante.

    Leitura adicional


    Encontrou o que estava procurando?

    Você também pode ir para community.tulip.co para postar sua pergunta ou ver se outras pessoas tiveram uma pergunta semelhante!


    Este artigo foi útil?