Collegamento di un sensore 4-20 mA con Edge IO e Node-RED
  • 04 Nov 2023
  • 5 Minuti da leggere
  • Contributori

Collegamento di un sensore 4-20 mA con Edge IO e Node-RED


Article Summary

Collegamento di un sensore 4-20 mA con Edge IO e Node-RED

Imparare a utilizzare il flusso Node-RED 4-20 mA con l'Edge IO

Questo articolo descrive il flusso di lavoro per collegare un sensore 4-20 mA a 2 fili a un Edge IO e inviare dati a Tulip tramite un flusso di libreria Node-RED.

Alla fine di questo articolo, avrete il seguente flusso all'interno di Node-RED per inviare i dati di corrente dal vostro sensore a una macchina all'interno di Tulip.

Completerete i seguenti passaggi:

  1. Impostazione dell'hardware: Cablare l'IO del bordo
  2. Impostazione della macchina: Creare una macchina in Tulip
  3. Impostazione di Node-RED: Importare, modificare e distribuire un flusso Node-RED dalla libreria Tulip.

Sono necessari

  • Un Edge IO registrato nel vostro account Tulip
  • Sensore ad anello di corrente 4-20mA: Configurazione a 2 fili, compatibile con alimentazione a 24 V
  • Resistenza da 500 Ohm
  • Cacciavite a testa piatta da 3,5 mm

1. Configurazione dell'hardware - Cablaggio dell'Edge IO

Questo flusso di lavoro presuppone che per la vostra applicazione abbiate selezionato un sensore 4-20mA di vostra scelta e un resistore esterno da 500 Ohm per convertire la corrente di uscita del sensore in tensione nell'ADC.

Collegare il sensore e il resistore all'Edge IO come segue:

  • Sensore 4-20mA

    • Terminale di alimentazione collegato al terminale dell'ADC SAR [+24V].
    • Terminale di uscita collegato al terminale SAR ADC [in].
    • Resistenza da 500 Ohm
    • Un'estremità al terminale SAR ADC [in]
    • Un'estremità al terminale [gnd] dell'ADC SAR

Inoltre, assicurarsi di aver alimentato il dispositivo e di averlo collegato alla rete inserendo un cavo Ethernet nella porta WAN.

2. Impostazione della macchina - Creare una macchina in Tulip

Per inviare i dati dal sensore 4-20 mA a Tulip, configuriamo innanzitutto una macchina che utilizzi l'API di Tulip come sorgente di dati. Per una panoramica approfondita, consultare l'articolo Impostazione di una nuova macchina, sezione Come usare l'API degli attributi della macchina.

In questo esempio, abbiamo creato una macchina per rappresentare una saldatrice con un singolo attributo float chiamato corrente della saldatrice.

È necessario annotare i valori attributeId e machineId da passare nel flusso Node-RED.

È inoltre possibile impostare un Tipo di macchina da assegnare alla macchina se si intende utilizzare il sensore di corrente per modificare aspetti quali lo stato della macchina o eseguire conteggi basati sulle uscite del sensore. Se ciò interessa, consultare la sezione Come impostare i tipi di macchina.

3. Configurazione di Node-RED

Aprire l'Edge Device Portal sull'Edge IO collegato al sensore 4-20 mA. Avviare l'editor Node-RED utilizzando le seguenti credenziali:

  • Nome utente: admin
  • Password: password dell'Edge IO

Per iniziare a utilizzare Node-RED su Edge IO, consultare le informazioni qui.

3a. Importazione del flusso di libreria

Per importare il flusso della libreria, seguire i passaggi riportati nel documento Importare i flussi di Tulip Node-RED. Il flusso da importare è 4_to_20_mA_sensor.json e l'importazione crea la scheda Applicazione sensore 4-20mA nell'editor.

3b. Panoramica del flusso

Il flusso Node-RED è composto da cinque nodi funzionali. Seguendo il flusso abbiamo:

  1. Campioni ADC SAR

    • Scopo: Campiona l'ADC SAR 0-10V a una velocità di 100 campioni al secondo.
    • Calcolo della media
    • Scopo: esegue una media una volta al secondo dei 100 campioni del nodo SAR ADC Samples.
    • Scala l'ADC al valore del sensore del loop di corrente
    • Scopo: scala i valori medi dell'ADC al valore attuale del sensore del loop.
    • Invia a Tulip Machine Attribute
    • Scopo: invia il valore corrente del sensore del loop all'API eventi Tulip per l'invio alla macchina.
    • Risposta
    • Scopo: Restituisce il codice di stato HTTP appropriato della chiamata all'API eventi Tulip.

3c. Modifica del flusso

Per terminare l'impostazione di questo flusso, le informazioni sul dispositivo per il nodo Attributenode Send to Tulip Machinedevono essere incluse con i campi attributeId e machineIddella macchina impostata in precedenza.

È inoltre necessario modificare le proprietà del nodo Scale ADC to Current Loop Sensor Value in base alle specifiche del produttore del sensore attuale.

Ad esempio, se l'intervallo di ingresso del sensore misura 0-100 ampere e le uscite sono 4-20 mA e si utilizza un resistore esterno da 500 Ohm, si dovranno impostare i seguenti parametri:

  • Valore del resistore (Ohm) - 500
  • Ingresso minimo - 0
  • Ingresso massimo - 100
  • Uscita minima (mA) - 4
  • Uscita massima (mA) - 20

3d. Distribuzione del flusso

Una volta costruito il flusso Node-RED e aggiunti i parametri necessari, è possibile distribuire il flusso dall'alto a destra e iniziare a vedere i dati del sensore 4-20 mA in uscita da Tulip.

Selezionando l'opzione Messaggio di debug sul lato destro dell'editor Node-RED, si potranno vedere le risposte e i codici di stato corrispondenti dell'API di Tulip.

Dettagli tecnici del flusso Node-RED

Di seguito è riportato un riepilogo dettagliato dei nodi e dei relativi parametri di configurazione predefiniti importati con il file 4_to_20_mA_sensor.json.

  1. Campioni ADC SAR

    • Scopo: campiona l'ADC SAR 0-10V a una velocità di 100 campioni/secondo.

    • Tipo di nodo: Analogico ad alta velocità

    • Proprietà predefinite:

      • Configurazione analogica - ADC SAR: RMS @ 100Hz

        • Selezionare l'ADC da configurare - ADC SAR
        • Uscite abilitate - RMS
        • Dimensione buffer - 100
        • Frequenza di campionamento (Hz) - 100+ Tipo di dati - RMS+ Modalità di uscita - Continua+ Frequenza di aggiornamento (secondi) - 1
        • Calcola media
    • Scopo: esegue una media una volta al secondo dei 100 campioni del nodo SAR ADC Samples.

    • Tipo di nodo: Funzione

    • Proprietà predefinite:

      • Funzione:1 const average = (array) => array.reduce((a, b) => a + b) / array.length; 2 msg.payload = average(msg.data); 3 return msg;3. Scala l'ADC al valore corrente del sensore in loop. Scala dell'ADC al valore del sensore del loop corrente
    • Scopo: scala i valori medi dell'ADC al valore attuale del sensore del loop.

    • Tipo di nodo: Flusso secondario

    • Proprietà predefinite:

      • Proprietà di ingresso - carico utile
      • Valore del resistore (Ohm) - 500
      • Ingresso minimo - 0
      • Ingresso massimo - 800
      • Uscita minima (mA) - 4
      • Uscita massima (mA) - 20
      • Attributo "Invia alla macchina Tulip
    • Scopo: invia il valore del sensore del loop di corrente all'API eventi Tulip per inviarlo alla macchina.

    • Tipo di nodo: Attributo macchina

    • Proprietà predefinite:

      • Info dispositivo - {"attributeId":"", "machineId":""}
      • Risposta
    • Scopo: Restituire il codice di stato HTTP appropriato della chiamata API dell'evento Tulip.

    • Tipo di nodo: Debug

    • Proprietà predefinite:

      • Output - oggetto msg completo
      • A - finestra di debug

Ulteriori letture


Avete trovato quello che stavate cercando?

Potete anche andare su community.tulip.co per postare la vostra domanda o vedere se altri hanno affrontato una domanda simile!


Questo articolo è stato utile?