Gerenciando os estados da máquina e a parte conta com Edge IO e Node-RED
  • 30 Mar 2023
  • 9 Minutos para Ler
  • Contribuintes

Gerenciando os estados da máquina e a parte conta com Edge IO e Node-RED


Article Summary

Gerenciando os estados da máquina e a parte conta com Edge IO e Node-RED

Aprenda a usar a visibilidade da máquina Node-RED fluxo com sua Edge IO

Este artigo cobre o fluxo de trabalho para conectar um sensor de feixe de ruptura e um sensor de corrente a uma EI de borda para gerenciar o estado e contar peças na Tulip. Isto utiliza um fluxo de biblioteca da Tulip Node-RED que pode ser importado para um dispositivo de borda do cliente.

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

Você precisará completar os seguintes passos:

  1. Configuração do Hardware: Conectar o IO da borda
  2. Configuração da máquina: Criar uma máquina em Tulipa
  3. Configuração do Node-RED: Importar, editar e implantar um fluxo Node-RED da Biblioteca da Tulip

O que você vai precisar é:

  • Uma Edge IO registrada em sua conta Tulip

  • Sensor de corrente: CR3111-3000 outro transformador de corrente similar

    • Um resistor de carga de tamanho correto para o transformador de corrente, recomendado 100-ohm se o CR3111-3000 (ver Configuração de Hardware para dimensionamento)
    • Feixe de ruptura
    • Chave de fenda de cabeça plana de 3,5 mm

1. Configuração de Hardware - Wire the Edge IO

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

Calculando o tamanho do resistor de carga: Se utilizar o CR3111-3000, recomendamos um resistor de 100 ohm. Se utilizar uma braçadeira de corrente diferente, você pode calcular o tamanho máximo permitido do resistor(R_burden) a partir da ração efetiva das curvas(T_e) e a corrente máxima a ser medida(I_max) da seguinte forma: R_carga = 3,12 * T_e / I_max. Seu resistor pode ser menor do que o tamanho máximo permitido; isto reduzirá a resolução de seu sensor.

Ligue sua braçadeira de corrente (CR3111-3000) e o feixe de ruptura ao seu IO de borda como se segue:

  • Abraçadeira de corrente

    • Medindo a corrente AC através do cabo de energia em sua máquina
    • Fixar o resistor entre os dois fios da braçadeira de corrente, como mostrado
    • Fixe um fio no terminal Diferencial ADC [+] e um fio no terminal Diferencial ADC [-].
    • Feixe de ruptura
    • Capturando a criação de peças
    • Fixe o fio marrom (+24V) ao terminal +24V no ADC SAR
    • Fixar o fio azul (gnd) ao terminal de aterramento do banco de entrada digital
    • Fixe o fio preto (fora) no Pino 1 do banco de entrada digital

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

2. Configuração da máquina - Crie uma máquina na Tulip

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

Neste exemplo, nós criamos uma Máquina com dois atributos:

  1. Corrente (float) - representa a corrente retornada pelo sensor.
  2. Contagem de peças (int) - sinal do feixe de interrupção indicando a conclusão de uma peça.

Você vai querer anotar seus valores de atributoId e máquinaId para passar para o fluxo Node-RED.

Você também pode configurar um Tipo de Máquina para atribuir à Máquina se planeja usar o sensor atual para mudar 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 isto for de interesse.

3. Configuração do Node-RED

Abra o Portal do Dispositivo de Borda no Edge IO conectado ao feixe de interrupção e aos sensores de corrente. Lançar o Editor Node-RED usando as seguintes credenciais:

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

Veja mais informações aqui para começar com o Node-RED on Edge IO.

3a. Fluxo da Biblioteca de Importação

Para importar o fluxo da biblioteca, siga os passos em nosso documento Importing Tulip Node-RED Flows. O fluxo a importar é machine_visibility.json e a importação cria a Machine Visibility com braçadeira de corrente e aba Breakbeam no editor.

3b. Visão geral do fluxo

Este fluxo é composto de dois fluxos de trabalho separados:

Contador de peças

O primeiro caminho é monitorar a contagem de peças através de um sensor de feixe de interrupção. Este fluxo é composto de quatro nós funcionais:

  1. Pino do monitor

    • Objetivo: Definir o(s) pino(s) GPIO no Edge IO para monitorar através 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(s).
    • Contagem de peças incrementais
    • Objetivo: A parte variável do fluxo de incrementos conta com o evento do pino verdadeiro.
    • Atributo da máquina Tulip: Contagem de peças
    • Objetivo: Enviar a carga útil (partCount) para a Tulip via API.

Monitorar a Corrente RMS

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

  1. Leituras Diferenciais do ADC

    • Objetivo: Atribuir o perfil de configuração analógica à entrada do ADC.
    • Filtrar 1/5 leituras
    • Objetivo: Extrair a cada cinco medições (5 segundos) para passar à Tulip.
    • Passar mensagem
    • Objetivo: Redefinir a contagem de leituras para cada quinta mensagem de volta a zero.
    • Mensagem de retorno e incremento
    • Objetivo: Para todas as outras leituras, aumentar a contagem das leituras em 1.
    • CR-3111 Escala
    • Objetivo: Dimensionar a medição do sensor com base nas especificações do fabricante.
    • Atributo da máquina Tulip: Corrente RMS
    • Objetivo: Enviar a carga útil (partCount) para a Tulip via API.

Há também quatro nós opcionais que são desativados por padrão, mas podem ser habilitados para ter um estado de máquina determinado pelo Node-RED. Note que também é possível usar Gatilhos de Máquina dentro da Tulip para executar esta mesma lógica.

  1. A corrente é > 100mA?

    • Objetivo: Verificar se o valor da corrente é maior do que 100 mA.
    • Estado = ON
    • Objetivo: Ajustar a carga útil para ON se a corrente for maior que 100 mA.
    • Estado = OFF (desligado)
    • Objetivo: Ajustar a carga útil para OFF se a corrente for menor ou igual a 100 mA.
    • Atributo da máquina Tulip: Estado:
    • Objetivo: Enviar a carga útil (estado) para a Tulip via API.

3c. Editar o fluxo

Para finalizar a configuração deste fluxo, as informações do dispositivo para o Atributo da Máquina Tulip: Part Count e Tulip Machine Attribute: RMS Os nós de corrente devem ser incluídos com o atributoIdadae os campos de máquinada máquina configurada anteriormente.

Dependendo do sensor que você usa, você pode editar adicionalmente o nó de escala CR-3111 para refletir a relação de rotação de seu transformador de corrente.

3d. Implantar o fluxo

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

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

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

Agora você poderá ver os dados na Tulip também, 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 Monitor

    • Objetivo: Definir o(s) pino(s) GPIO no Edge IO para monitorar através da propriedade do pino habilitado.

    • Tipo de nó: Entrada digital

    • Propriedades padrão:

      • Modo de funcionamento - 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(s).

    • Tipo de nó: Switch

    • Propriedades padrão:

      • Propriedades - msg.payload
      • Regras - é verdade
      • Contagem de peças incrementais
    • Objetivo: A parte variável do fluxo de incrementos conta com o evento do pino verdadeiro.

    • Tipo de nó: Mudança

    • Propriedades padrão:

      • Regras:

        • Definir fluxo.partCount para expressar $flowContext('partCount') + 1
        • Definir msg.payload para flow.partCount
        • Atributo Tulip Machine: Contagem de peças
    • Objetivo: Enviar a carga útil (partCount) para a Tulip via API.

    • Tipo de nó: Atributo da máquina

    • Propriedades padrão:

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

Monitorar Corrente RMS

  1. Leituras Diferenciais do ADC

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

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

    • Propriedades padrão:

      • Configuração analógica - ADC RMS diferencial @ 1kHZ

        • Selecione o ADC para Configurar - ADC Diferencial
        • Saídas Ativadas - RMS
        • Tamanho do amortecedor - 1000
        • Freqüência de amostragem (Hz) - 1000+ Tipo de dados - RMS+ Modo de saída - Contínuo+ Taxa de atualização (segundos) - 1
        • Leituras de filtro 1/5
    • Objetivo: Extrair a cada cinco medições (5 segundos) para passar à Tulip.

    • Tipo de nó: Troca

    • Propriedades padrão:

      • Propriedade - fluxo.numLeituras

      • Regras:

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

    • Tipo de nó: Alterar

    • Propriedades padrão:

      • Regras:

        • Definir fluxo.numLeituras a 0
        • Mensagem de queda e incremento
    • Objetivo: Para todas as outras leituras, aumentar a contagem das leituras em 1.

    • Tipo de nó: Alterar

    • Propriedades padrão:

      • Regras:

        • Definir fluxo.numLeituras para expressar $flowContext('numLeituras') + 1
        • CR-3111 Dimensionamento
    • Objetivo: Dimensionar a medição do sensor com base nas especificações do fabricante.

    • Tipo de nó: Modelo de subfluxo

    • Propriedades padrão:

      • Propriedades - dados
      • Escala* - 3000
      • Offset - 0
      • Atributo Tulip Machine: Corrente RMS
    • Objetivo: Enviar a carga útil (partCount) para a Tulip via API.

    • Tipo de nó: Atributo da máquina

    • Propriedades padrão:

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

Subfluxo para calcular o estado da máquina

  1. A corrente é > 100mA?

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

    • Tipo de nó: Interruptor

    • Propriedades padrão:

      • Propriedades - msg.data[0]

      • Regras:

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

    • Tipo de nó: Alterar

    • Propriedades padrão:

      • Regras:

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

    • Tipo de nó: Alterar

    • Propriedades padrão:

      • Regras:

        • Defina msg.payload para OFF
        • Atributo Tulip Machine: Estado
    • Objetivo: Enviar a carga útil (estado) para a Tulip via API.

    • Tipo de nó: Atributo da máquina

    • Propriedades padrão:

      • Informações do dispositivo* - {"attributeId":"", "machineId":""}
      • Fonte de Atributos - 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


Você encontrou o que estava procurando?

Você também pode ir ao community.tulip.co para postar sua pergunta ou ver se outros enfrentaram uma pergunta semelhante!


Este artigo foi útil?