- Impression
Gestion des états des machines et du nombre de pièces avec Edge IO et Node-RED
Gérer les états des machines et le nombre de pièces avec Edge IO et Node-RED
Apprenez à utiliser le flux Node-RED de visibilité de la machine avec votre Edge IO.
Cet article couvre le flux de travail pour connecter un capteur de faisceau de rupture et un capteur de courant à un Edge IO pour gérer l'état et compter les pièces dans Tulip. Ceci utilise un flux de bibliothèque Tulip Node-RED qui peut être importé sur l'appareil Edge d'un client.
A la fin de cet article, vous aurez le flux suivant dans Node-RED pour envoyer les données de vos capteurs connectés à une machine dans Tulip.
Vous aurez besoin de compléter les étapes suivantes :
- Configuration matérielle : Câbler l'Edge IO
- Configuration de la machine : Créer une machine dans Tulip
- Installation de Node-RED : Importer, éditer et déployer un flux Node-RED depuis la bibliothèque Tulip
Ce dont vous aurez besoin :
Un Edge IO enregistré sur votre compte Tulip
Un capteur de courant : CR3111-3000 ou un autre transformateur de courant similaire
- Une résistance de charge correctement dimensionnée pour le transformateur de courant, recommandée à 100 ohms pour le CR3111-3000 (voir Configuration matérielle pour le dimensionnement).
- Poutre de rupture
- Tournevis à tête plate de 3,5 mm
1. Configuration du matériel - Câblage de l'Edge IO
Ce processus suppose que vous utiliserez un transformateur de courant et une poutre de rupture connectés à un Edge IO.
Calcul de la taille de la résistance de charge : Si vous utilisez la CR3111-3000, nous recommandons une résistance de 100 ohms. Si vous utilisez une pince de courant différente, vous pouvez calculer la taille maximale autorisée de la résistance(R_burden
) à partir du rapport de tours effectif(T_e
) et du courant maximal à mesurer(I_max
) comme suit : R_burden = 3,12 * T_e / I_max
. Votre résistance peut être plus petite que la taille de résistance maximale autorisée ; cela réduira la résolution de votre capteur.
Connectez votre pince de courant (CR3111-3000) et votre faisceau de rupture à votre Edge IO comme suit :
Pince de courant
- Mesure du courant alternatif à travers le câble d'alimentation de votre machine
- Attachez une résistance entre les deux fils de la pince de courant comme indiqué.
- Attachez un fil à la borne [+] de l'ADC différentiel et un fil à la borne [-] de l'ADC différentiel.
- Poutre de rupture
- Capture de la création d'une pièce
- Relier le fil marron (+24V) à la borne +24V de l'ADC SAR.
- Relier le fil bleu (gnd) à la borne de masse de la banque d'entrées numériques.
- Reliez le fil noir (out) à la broche 1 de la banque d'entrées numériques.
En outre, assurez-vous que vous avez alimenté l'appareil et que vous l'avez connecté à votre réseau en branchant un câble Ethernet sur le port WAN.
2. Configuration de la machine - Créer une machine dans Tulip
Pour envoyer les données de la poutre de rupture et du capteur de courant à Tulip, configurons d'abord une Machine en utilisant l'API de Tulip comme source de données. Référez-vous à la section Configuration d'une nouvelle machine de l'article Comment utiliser l'API d'attributs de machine pour une vue d'ensemble approfondie.
Dans cet exemple, nous avons créé une machine avec deux attributs :
- Current (float) - représente le courant renvoyé par le capteur.
- Part Count (int) - signal provenant de la poutre de rupture indiquant l'achèvement d'une pièce.
Vous devez noter les valeurs attributeId et
machineId
pour les transmettre au flux Node-RED.
Vous pouvez également configurer un type de machine à affecter à la machine si vous prévoyez d'utiliser le capteur de courant pour modifier des aspects tels que l'état de la machine ou effectuer des comptages basés sur les sorties du capteur. Reportez-vous à la section Comment configurer les types de machine si cela vous intéresse.
3. Configuration de Node-RED
Ouvrez le portail Edge Device Portal sur l'Edge IO connecté aux capteurs de faisceau de rupture et de courant. Lancez l'éditeur Node-RED en utilisant les informations d'identification suivantes :
- Nom d'utilisateur : admin
- Mot de passe : Votre mot de passe Edge IO
Voir plus d'informations ici pour démarrer avec Node-RED sur Edge IO.
3a. Importer le flux de la bibliothèque
Pour importer le flux de la bibliothèque, suivez les étapes de notre document Importation des flux Tulip Node-RED. Le flux à importer est machine_visibility.json et l'importation crée l'onglet Machine Visibility with Current Clamp and Breakbeam dans l'éditeur.
3b. Vue d'ensemble du flux
Ce flux est composé de deux flux de travail distincts :
Compteur de pièces
Le premier chemin consiste à surveiller le nombre de pièces par l'intermédiaire d'un capteur de faisceau de rupture. Ce flux comprend quatre nœuds fonctionnels :
Monitor Pin
- Objectif : définir la ou les broches GPIO de l'Edge IO à surveiller via la propriété "enabled pin" (broche activée).
- Filtre pour pinUp
- Objectif : À partir de la charge utile du message, déterminer si l'événement sur la (les) broche(s) surveillée(s) est vrai.
- Incrémenter le nombre de pièces
- Objet : Incrémenter le nombre de pièces de la variable de flux lorsque l'événement de l'épingle est vrai.
- Attribut de la machine tulipe : Nombre de pièces
- Objectif : Envoyer la charge utile (partCount) à Tulip via l'API.
Surveillance du courant RMS
Le deuxième chemin consiste à surveiller un capteur de courant connecté à l'entrée ADC (convertisseur analogique-numérique). Ce flux comprend six nœuds fonctionnels.
Lectures différentielles du convertisseur analogique-numérique
- Objectif : affecter le profil de configuration analogique à l'entrée du convertisseur analogique-numérique.
- Filtre 1/5 lectures
- Objectif : Extraire une mesure sur cinq (5 secondes) pour la transmettre à Tulip.
- Passer le message
- Objectif : Réinitialiser le compte des lectures pour chaque cinquième mesure (5 secondes) à transmettre à Tulip : Remettre à zéro le compte des lectures pour chaque cinquième message.
- Drop message & increment
- Objectif : Pour tous les autres relevés, incrémenter le nombre de relevés à zéro : Pour toutes les autres lectures, incrémenter le nombre de lectures de 1.
- Mise à l'échelle du CR-3111
- Objet : Mettre à l'échelle la mesure du capteur en fonction des spécifications du fabricant.
- Attribut de la machine Tulip : RMS Current
- Objet : Envoyer la charge utile (partCount) à Tulip via l'API.
Il existe également quatre nœuds optionnels qui sont désactivés par défaut mais qui peuvent être activés pour que l'état de la machine soit déterminé par Node-RED. Notez qu'il est également possible d'utiliser des déclencheurs de machine dans Tulip pour exécuter cette même logique.
Is Current > 100mA ?
- Objectif : Vérifier si la valeur du courant est supérieure à 100 mA.
- State = ON
- Objectif : Mettre la charge utile à ON si le courant est supérieur à 100 mA.
- État = OFF
- Objectif : Mettre la charge utile sur OFF si le courant est inférieur ou égal à 100 mA.
- Attribut de la machine tulipe : État
- Objet : Envoyer la charge utile (état) à Tulip via l'API.
3c. Modifier le flux
Pour terminer la configuration de ce flux, les informations sur le périphérique pour l'attribut Tulip Machine Attribute : Part Count et Tulip Machine Attribute : RMS Current doivent être incluses avec les champs
attributeId et
machineIdf
de la machine configurée précédemment.
En fonction du capteur que vous utilisez, vous pouvez également éditer le nœud CR-3111 Scaling pour refléter le rapport des tours de votre transformateur de courant.
3d. Déployer le flux
Une fois le flux Node-RED construit et les paramètres nécessaires ajoutés, vous pouvez déployer votre flux et commencer à voir les données de votre faisceau de rupture et de vos capteurs de courant sortir vers Tulip.
En sélectionnant l'option Debug message sur le côté droit de l'éditeur Node-RED, vous devriez être en mesure de voir les réponses et les codes d'état correspondants de l'API Tulip.
Pour obtenir plus d'informations sur les codes d'état, veuillez consulter la documentation de l'API dans votre instance Tulip (c'est-à-dire .tulip.co/apidocs). Spécifiquement, référez-vous à la documentation POST /attributes/report
endpoint.
Vous serez maintenant en mesure de voir les données dans Tulip également, en naviguant vers l'onglet de configuration de la machine.
Détails techniques du flux Node-RED
Voici un résumé détaillé des nœuds et de leurs paramètres de configuration par défaut importés avec le fichier machine_visibility.json.
Pièce Compteur
Broche de surveillance
Objet : Définir la ou les broches GPIO de l'Edge IO à surveiller via la propriété de broche activée.
Type de nœud : Entrée numérique
Propriétés par défaut :
- Mode d'exécution -
continu
- Taux de rafraîchissement -
1 seconde
- Broches activées -
1
- Filtre pour pinUp
- Mode d'exécution -
Objet : À partir de la charge utile du message, déterminer si l'événement sur la (les) broche(s) surveillée(s) est vrai.
Type de nœud : Commutateur
Propriétés par défaut :
- Propriété -
msg.payload
- Règles -
est vrai
- Incrémenter le nombre de pièces
- Propriété -
Objectif : Incrémenter le nombre de pièces de la variable de flux sur l'événement true de l'épingle.
Type de noeud : Change
Propriétés par défaut :
Règles :
- Fixer
flow.partCount
à l'expression$flowContext('partCount') + 1
- Fixer
msg.payload
àflow.partCount
- Attribut de la machine à tulipes : Nombre de pièces
- Fixer
Objectif : Envoyer le payload (partCount) à Tulip via l'API.
Type de noeud : Attribut machine
Propriétés par défaut :
- Device Info* -
{"attributeId" :"", "machineId" :""}
- Source de l'attribut -
msg.payload
- Device Info* -
Courant efficace du moniteur
Lectures différentielles de l'ADC
Objet : Attribuer le profil de configuration analogique à l'entrée ADC.
Node type : Analogique haute vitesse
Propriétés par défaut :
Analog Config -
Differential ADC RMS @ 1kHZ
- Sélectionner l'ADC à configurer -
ADC différ
entiel - Sorties activées -
RMS
- Taille de la mémoire tampon -
1000
- Fréquence d'échantillonnage (Hz) -
1000
+ Type de données -RMS
+ Mode de sortie -Continu
+ Taux de rafraîchissement (secondes) -1
- Filtre 1/5 lectures
- Sélectionner l'ADC à configurer -
Objectif : Extraire une mesure sur cinq (5 secondes) pour la transmettre à Tulip.
Type de nœud : Commutateur
Propriétés par défaut :
Propriété -
flow.numReadings
Règles :
== 4
sinon
- Passer le message
Objectif : réinitialiser le compte des lectures pour chaque cinquième message à zéro : Remettre à zéro le nombre de lectures pour chaque cinquième message.
Type de nœud : Change
Propriétés par défaut :
Règles :
- Fixer
flow.numReadings
à0
- Abandonner le message et l'incrémenter
- Fixer
Objet : Pour tous les autres relevés, incrémenter le nombre de relevés de 1 : Pour toutes les autres lectures, incrémenter le nombre de lectures de 1.
Type de nœud : Change
Propriétés par défaut :
Règles :
- Fixer
flow.numReadings
à l'expression$flowContext('numReadings') + 1
- CR-3111 Mise à l'échelle
- Fixer
Objet : Mettre à l'échelle la mesure du capteur en fonction des spécifications du fabricant.
Type de nœud : Modèle de sous-flux
Propriétés par défaut :
- Propriété -
données
- Échelle* -
3000
- Décalage -
0
- Attribut de la machine tulipe : RMS Current
- Propriété -
Objet : Envoyer la charge utile (partCount) à Tulip via l'API.
Type de nœud : Attribut machine
Propriétés par défaut :
- Device Info* -
{"attributeId" :"", "machineId" :""}
- Source de l'attribut -
msg.data[0]
- Device Info* -
Sous-flux de calcul de l'état de la machine
Is Current > 100mA ?
Objectif : Vérifier si la valeur du courant est supérieure à 100 mA.
Type de nœud : Interrupteur
Propriétés par défaut :
Propriété -
msg.data[0]
Règles :
> 0.1
sinon
- State = ON
Objet : Mettre la charge utile à l'état ON si le courant est supérieur à 100 mA.
Type de noeud : Change
Propriétés par défaut :
Règles :
- Régler
msg.payload
surON
- État = OFF
- Régler
Objectif : Mettre la charge utile sur OFF si le courant est inférieur ou égal à 100 mA.
Node type : Change
Propriétés par défaut :
Règles :
- Set
msg.payload
toOFF
- Attribut de la machine Tulip : État
- Set
Objectif : Envoyer le payload (état) à Tulip via l'API.
Type de nœud : Attribut machine
Propriétés par défaut :
- Device Info* -
{"attributeId" :"", "machineId" :""}
- Attribut Source -
msg.payload
- Device Info* -
* Les paramètres doivent être mis à jour pour que le flux fonctionne correctement. La valeur d'échelle du capteur de courant doit être modifiée conformément aux recommandations du fabricant.
Pour en savoir plus
- Documentation de Node-RED
- Connexion d'un capteur 4-20 mA avec Edge IO et Node-RED
- Connexion d'un oscilloscope analogique avec Edge IO et Node-RED
Vous avez trouvé ce que vous cherchiez ?
Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont rencontré une question similaire !