- Impressão
Gerenciando os estados da máquina e a parte conta com Edge IO e Node-RED
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:
- Configuração do Hardware: Conectar o IO da borda
- Configuração da máquina: Criar uma máquina em Tulipa
- 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:
- Corrente (float) - representa a corrente retornada pelo sensor.
- 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:
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.
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.
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áquina
da 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
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
- Modo de funcionamento -
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
- Propriedades -
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
paraflow.partCount
- Atributo Tulip Machine: Contagem de peças
- Definir
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
- Informações do dispositivo* -
Monitorar Corrente RMS
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
- Selecione o ADC para Configurar -
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
a0
- Mensagem de queda e incremento
- Definir
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
- Definir
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
- Propriedades -
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]
- Informações do dispositivo* -
Subfluxo para calcular o estado da máquina
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
paraON
- Estado = OFF
- Definir
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
paraOFF
- Atributo Tulip Machine: Estado
- Defina
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
- Informações do dispositivo* -
* 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
- Documentação do Node-RED
- Conexão de um sensor 4-20 mA com Edge IO e Node-RED
- Conexão de um osciloscópio analógico com Edge IO e Node-RED
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!