Hogyan küldhetünk adatokat gépekre az Edge-eszközökről a Node-RED és a Tulip címkék használatával?
  • 04 Nov 2023
  • 7 Elolvasandó percek
  • Közreműködők

Hogyan küldhetünk adatokat gépekre az Edge-eszközökről a Node-RED és a Tulip címkék használatával?


Article Summary

Ismerje meg, hogyan használhatja a Tulip címkéket a Node-RED-ben, hogy natív módon küldjön adatokat az Edge eszközökről a Tulip gépekbe.

Az OS 50.1-től kezdődően a Tulip natívan támogatja a Tulip Edge eszközök gépi adatforrásként való használatát.

A Node-RED használatával tetszőleges "címkéket" hozhat létre az új tulip-tag csomóponttal, és adatokat küldhet ezekre a címkékre. Ezek a címkék automatikusan megjelennek az adott Edge Device alatt, mint adatforrás a gépi attribútumok leképezésekor.

Az új áramlásokban ajánlott a Tulip-tagok használata a gépi API-val szemben. A Tulip Tags lehetővé teszi, hogy a gépadatokat újrafelhasználható áramlások segítségével jelentse, amelyek eszközspecifikus módosítások nélkül megoszthatók az eszközök között, és kiküszöböli a gépi attribútumadatok másolásának-beillesztésének szükségességét a Machine API csomópontokba.

Áttekintés

Ez a cikk leírja, hogyan küldhet adatokat a Node-RED-ből a Tulip gépekhez a Tulip Edge eszközökön előre telepített új Tulip Tag csomópont használatával.

Ez az útmutató a következő lépéseken fog végigmenni:

Követelmények

A Tulip címkék létrehozásához rendelkeznie kell egy Tulip Edge eszközzel, amely:

  • támogatja a Node-RED-et (Edge MC vagy Edge IO)
  • engedélyezve van a Node-RED
  • a firmware verziója >= OS50

Felhasználói útmutató

Ez az útmutató a Node-RED munkafolyamatát mutatja be egy címke létrehozásához, adatok küldéséhez, majd bemutatja, hogyan lehet a címkét egy gépi attribútumhoz rendelni a Tulipban. Azt is leírjuk, hogyan lehet egyszerre több címkére írni (csak az OS 51 és újabb operációs rendszereknél).

Címkék létrehozása a Node-RED-ben

  1. Nyissa meg a Node-RED-et a Tulip Edge eszközén, és jelentkezzen be.

    1. *Hivatkozás a Node-RED eléréséhez: A Node-RED használata az Edge IO-n
    2. Ha OS50 vagy újabb operációs rendszert használ, akkor a Node-RED szerkesztő bal oldalsávjában megjelenik a Tulip Tag csomópont.

  1. Húzza a tulip-tag csomópontot a szerkesztőbe, majd kattintson rá duplán a csomópontszerkesztő megnyitásához. Látnia kell a "Tag List" (Címkék listája) tulajdonságot, amely szükséges - létre kell hoznia egy címke listát, amely tartalmazza az adott Edge Device összes címkéjét. Edge Device-enként csak egy taglistát hozhat létre. Kattintson a Szerkesztés gombra az új Címkéklista létrehozásához, amelyet az alábbiakban kiemelünk.

  1. A Tag List csomópontban annyi címkét hozhat létre, amennyit csak szeretne. Kattintson a +add gombra egy címke létrehozásához.

  1. Minden címke három részből áll: azonosító, címke és típus.

    1. Címke azonosító: Ez egy kódszerű azonosító, amely azonosítja a címkét. A létrehozás után nem változhat. Érvényes karakterek a betűk, számjegyek (nem kezdődhet számmal) és az aláhúzás. Példák: part_count, myState1.
    2. Címkecímke: Ez az ember által olvasható címke, amelyet a címkéhez rendelhet. A címke átnevezéséhez egyszerűen frissítse a címkét (ne az azonosítót). Példa: Például: "Part Count".
    3. Típus: Az adattípus - karakterlánc, egész szám, lebegő vagy bólés. Meg kell egyeznie a leképezett gépi attribútum típusával.

  1. Ha végzett a címkék hozzáadásával, kattintson az Add gombra a módosítások megerősítéséhez, és térjen vissza az előző csomópontszerkesztőhöz. A mentés előtt győződjön meg arról, hogy nincsenek hibák.

:::(Info) (MEGJEGYZÉS) A "Nem hozzárendelt" nem hiba, csak egy figyelmeztetés, hogy a címkét még nem társította a Tulipban egy gépi attribútumhoz. :::

Adatok küldése címkéknek a Node-RED-ben

Miután létrehozott egy címkelistát, a Címke kiválasztása legördülő lista automatikusan feltöltődik az összes címkével (az ember által olvasható címkék szerint).

  1. Válassza ki a csomóponthoz tartozó címkét.

  1. Ahhoz, hogy adatokat írjon erre a címkére, most üzeneteket kell küldenie erre a tulipán-tag csomópontra. A csomópontnak küldött üzenetek hasznos terhe (azaz msg.payload) a címkébe íródik.

Az alábbiakban például egy Inject csomópontot kapcsoltunk össze msg.payload=0-val, amely a 0 egész számot írja a Part Count címkére.

Címkék hozzárendelése a gépi attribútumokhoz

Végül, ahhoz, hogy az adatokat a Tulipban megtekinthesse, meg kell látogatnia a Tulip webhelyét, és a címkét egy gépi attribútumhoz kell rendelnie.

  1. Navigáljon a Gépek oldalára, válassza ki a Gépet, amelyre adatokat kíván küldeni, és nyissa meg a Konfiguráció lapot. Látnia kell a Gépi attribútumok listáját; kattintson egy attribútumra a leképezéshez. Az Edge Device (a sorozatszám alapján) adatforrásként kell látnia. Ezt az adatforrást nem kell létrehoznia, automatikusan létrejön, amikor egy címkelistával ellátott áramlást telepít.
  2. Kattintson az edge eszközre a jobb oldalsávban, és bontsa ki a Node-RED mappát. Látnia kell az attribútummal azonos típusú attribútumokat. Kattintson a megfelelő attribútum melletti link gombra annak leképezéséhez.

  1. Az attribútum mostantól leképezve jelenik meg, a leképezett tag címkéjével (Tag Label), mint a Signal (Jel).

  1. Ezenkívül a Node-RED-ben a Tulip Tag csomópont státuszának "Unmapped" (nem feltérképezett) helyett "Connected" (csatlakoztatva) kell változnia.

  1. Ha adatokat írunk a címkére (azaz ebben a példában az "Injektálás" csomópontra kattintva), akkor a leképezett attribútumra vonatkozóan most már megjelennek az adatok.

Adatok küldése több címkére (haladó)

:::(Info) (MEGJEGYZÉS) Ez a funkció csak az OS51 és újabb operációs rendszereken érhető el. :::

Lehetőség van egyszerre több címkére történő kötegelt írásra.

  1. A Node-RED-ben hozzon létre egy Tulip Tag csomópontot, és vegye ki a jelölőnégyzetet a Címke kiválasztása a listából opcióból.

  1. A csomóponthoz küldött bemeneti üzenet hasznos terhelése mostantól tartalmaznia kell a címkék azonosítóinak és az írandó értékeknek a leképezését. Ha például 0 darabszámot szeretne írni a part_count azonosítóval rendelkező egész szám címkébe, és "Running " állapotot a state azonosítóval rendelkező string címkébe, az üzenetének így kell hangzania:

msg.payload = { "part_count": 0, "state": "Running" }

Példa: A gép állapotának és alkatrészszámának kezelése Edge IO és Node-RED segítségével

Ez a példa az ebben a cikkben leírt Node RED könyvtárfolyamat frissített változata, amelyre a hardver beállításához érdemes hivatkozni: Gépállapotok és alkatrészszámok kezelése Edge IO és Node-RED segítségével.

Az alábbiakban frissítettük az áramlást, hogy a Machine Attribute csomópont helyett a Tulip Tag csomópontot használja. Ez az áramlás módosítás nélkül számos Edge-eszközre telepíthető.

  1. A Node-RED-ben importálja és telepítse a következő folyamatot:


## 65CCB8", "icon": "font-awesome/fa-arrows-v"},{"id": "d99ec5b3.e9dfb8", "type": "function", "z": "85d16074.518e2", "name": "Convert values with scale/offset", "func": "const scale = env.get('SCALE');\nconst offset = env.get('OFFSET');\nconst prop = env.get('PROPERTY');\nif (Array.isArray(msg[prop])) {\n msg[prop] = msg[prop].map((x) => (scale \* x + offset));\n} else {\n msg[prop] = scale \* msg[prop] + offset;\n}\nreturn msg;", "outputs":1, "noerr":0, "initialize":"", "finalize":"", "x":250, "y":60, "wires":[[]]},{"id": "71c9f8f2.7adf08", "type": "tab", "label": "Machine Visibility with Current Clamp and Breakbeam", "disabled":false, "info": "This library flow is a basic machine monitoring application to gain visibility in the machine's state and part count using a current clamp and breakbeam. A következő két Edge IO bemenetet követi:\n\n \* **Darabszám**: 0-nál kezdődik, és felfelé számol, amikor a GPIO Pin 1 magasra vált, például amikor egy töréssugár beindul. A "Reset Part Count" csomóponttal 0-ra állítható vissza. Az aktuális alkatrészszámot elküldi a Tulip Machine Attribute-nak, amikor az alkatrészszám változik. \n \n \* A **gép állapota**: A CR-3111 áramfogóval felügyelt gép RMS-áramát küldi az Edge IO differenciális ADC-be. Az effektív középérték leolvasás egy 1 s-os puffer adatot ad meg, amelyet 1 kHz-es frekvencián, 5 s-enként egyszeri mintavételezéssel vesz fel. A Node-RED-ben vagy a Tulipban beállítható egy küszöbérték a gép be-/kikapcsolt állapotának meghatározására. "},{"id":"256235b9.3bb72a","type":"subflow:85d16074.518e2","z":"71c9f8f2.7adf08","name":"CR-3111 Scaling","env":[{"name":"PROPERTY","value":"data","type":"str"},{"name":"SCALE","value":"3000","type":"num"},{"name":"OFFSET","value":"0","type":"num"}],"x":800,"y":360,"wires":[["88390763.49ad58", "b594a80b.7".f3f18"]]},{"id":"daf59f31.d1ec8","type":"tulip-high-speed-analog","z":"71c9f8f2.7adf08","name":"Differential ADC Readings","analogConfig":"71b68226.a6568c","dataTypeIdx":"2","inputs":0,"mode":"continuous","dataMsgProperty":"data","refreshRate":"1","refreshFrames":"all","x":150,"y":380,"wires":[["96ef65ab.afba78"]]},{"id":"82a0d2e1.62cec","type":"inject","z":"71c9f8f2.7adf08","name":"Reset Part Count","props":[],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":130,"y":100,"wires":[["25bb1de8.b3e502"]]},{"id":"579dcfa3.596ad","type":"tulip-digital-input","z":"71c9f8f2.7adf08", "name": "Monitor Pin 1", "runMode": "continuous", "configMode": "static", "outputMode": "object", "refreshRate":1, "enabledPins":[true,false,false,false,false,false,false,false,false,false,false,false,false], "x":110, "y":160, "wires":[["27e78fe6.8e08c"]]},{"id":"27e78fe6.8e08c","type":"switch","z":"71c9f8f2.7adf08","name":"Filter for pinUp","property":"payload","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":300,"y":160,"wires":[["f1b02903.a2f2b8"]]},{"id":"f1b02903.a2f2b8","type":"change","z":"71c9f8f2.7adf08", "name": "Increment Part Count", "rules":[{"t": "set", "p": "partCount", "pt": "flow", "to":"$flowContext('partCount') + 1", "tot": "jsonata"},{"t":"set","p":"payload","pt":"msg","to":"partCount","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":160,"wires":[["eed4e051.7bc12"]]},{"id":"25bb1de8.b3e502","type":"change","z":"71c9f8f2.7adf08", "name": "Set Part Count = 0", "rules":[{"t": "set", "p": "partCount", "pt": "flow", "to": "0", "tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":100,"wires":[[]]},{"id":"dcb54611.9f7ca8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor Part Count", "info": "Part Count = 0-val kezdődik és felfelé számol, amikor a GPIO Pin 1 magasra vált. Az alkatrészszám 0-ra állítható vissza a 'Reset Part Count' csomópontra kattintva. Az aktuális alkatrészszámot elküldi a konfigurált Tulip Machine Attribute-nak, amikor az alkatrészszám megváltozik. ", "x":130, "y":40, "wires":[]},{"id": "9ff956ce.4ee9b8", "type": "comment", "z": "71c9f8f2.7adf08", "name": "Monitor RMS Current", "info": "Egy CR-3111 áramfogóval felügyelt gép RMS áramát küldi az Edge IO differenciális ADC-be. Az RMS-értéket egy 1 s-os, 1 kHz-es frekvencián vett, 5 s-onként egyszer mintavételezett 1 s-os puffer adataihoz adja meg. A Node-RED-ben vagy a Tulipban beállítható egy küszöbérték a gép be-/kikapcsolt állapotának meghatározására. ","x":140,"y":320,"wires":[]},{"id":"96ef65ab.afba78","type":"switch","z":"71c9f8f2.7adf08", "name": "Filter 1/5 readings", "property": "numReadings", "propertyType": "flow", "rules":[{"t": "eq", "v":"4","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":380,"wires":[["41bac391.9beffc"],["78eb2b71.a4c2c4"]]},{"id":"41bac391.9beffc","type":"change","z":"71c9f8f2.7adf08","name":"Pass message","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":360,"wires":[["256235b9.3bb72a"]]},{"id":"78eb2b71.a4c2c4","type":"change","z":"71c9f8f2.7adf08", "name": "Drop message & increment", "rules":[{"t": "set", "p": "numReadings", "pt": "flow", "to":"$flowContext('numReadings') + 1", "tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":400,"wires":[[]]},{"id":"88390763.49ad58","type":"switch","z":"71c9f8f2.7adf08","name":"Is Current > 100mA?","property":"data","propertyType":"msg","rules":[{"t":"gt","v":"0.1","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":620,"wires":[["b0fc9af.9e90c68"],["b271da6d.f05098"]]},{"id":"53f44746.f831e8","type":"comment","z":"71c9f8f2.7adf08", "name": "Subflow to Calculate Machine State", "info": "Ez az alfolyamat engedélyezhető, hogy a konfigurált küszöbérték alapján kiszámítsa, hogy a gép ON vagy OFF állapotban van-e.\n\nA kiszámított állapotot stringként küldjük el egy gépi attribútumnak. Ezt a gépi attribútumot a Tulipban úgy kell konfigurálni, hogy szöveges attribútum legyen, és a deviceInfo attribútumot be kell másolni a Tulip Machine Attribute csomópontba.", "x":240, "y":620, "wires":[]},{"id": "b0fc9af.9e90c68","type":"change","z":"71c9f8f2.7adf08","name":"State = ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"ON","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":600,"wires":[["a197e7f6.0d6c58"]]},{"id":"b271da6d.f05098","type":"change","z":"71c9f8f2.7adf08","name":"State = OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"OFF","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":640,"wires":[["a197e7f6.0d6c58"]]},{"id":"eed4e051.7bc12","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"part\_count","x":730,"y":160,"wires":[[]]},{"id":"b594a80b.7f3f18","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"current","x":1020,"y":360,"wires":[[]]},{"id":"a197e7f6.0d6c58","type":"tulip-tag","z":"71c9f8f2.7adf08","name":"","tagList":"58dfe1ff.615b","staticTag":true,"tagId":"state","x":930,"y":620,"wires":[[]]},{"id":"80b0c03.326c84","type":"inject","z":"71c9f8f2.7adf08", "name": "Initialization", "props":[], "repeat":"", "crontab":"", "once":true, "onceDelay":0.1,"topic":"","x":110,"y":440,"wires":[["81df5e3e.f5126"]]},{"id":"81df5e3e.f5126","type":"change","z":"71c9f8f2.7adf08","name":"Initialize numReadings = 0","rules":[{"t":"set","p":"numReadings","pt":"flow","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":440,"wires":[[]]},{"id":"71b68226.a6568c", "type": "tulip-high-speed-analog-config", "name": "Differential ADC RMS @ 1kHZ", "bufferSize": "1000", "frequency": "1000", "adcId":"0", "diffAdcResistor": "200", "enableTime":false, "enableFreq":false, "enableRMS":true, "enablePowerSpec":false},{"id": "58dfe1ff.615b", "type": "tulip-tag-list", "name": "Part-Making Machine Tags", "tags":[{"id": "part\_count", "label": "Part Count", "type": "integer"},{"id": "current", "label": "Current (RMS)", "type": "float"},{"id": "state", "label": "State", "type": "State", "type": "string"}]}]]


``` 2. Az áramlás a következőképpen néz ki:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20to%20Send%20Data%20to%20Machines%20from%20Edge%20Devices%20using%20Node-RED%20and%20Tulip%20Tags_566767267.png){height="" width="550"}


Az áramlás a következő Tulip Tag listával is rendelkezik:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20to%20Send%20Data%20to%20Machines%20from%20Edge%20Devices%20using%20Node-RED%20and%20Tulip%20Tags_566767339.png){height="" width="350"}


1. Ez az Edge Device három címkével rendelkező adatforrásként jelenik meg a Tulipban:


	1. Részszám: Ahányszor a GPIO bemeneti pin 1 magasra kapcsol, növekszik. Feltételezi, hogy egy törőgerenda van csatlakoztatva erre a pinre.
	2. Current (RMS) (Áram (RMS)): A CR3111-3000 5 másodpercenként írja ki az RMS áramértéket (amperben). Feltételezi, hogy ez az áramérzékelő a differenciális ADC-hez van csatlakoztatva.
	3. Állapot: "ON"-t jelent, ha az áram >100mA, és "OFF"-t, ha az áram <=100mA.Ezeket a címkéket a megfelelő gépi attribútumokhoz rendelheti a Tulipban:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20to%20Send%20Data%20to%20Machines%20from%20Edge%20Devices%20using%20Node-RED%20and%20Tulip%20Tags_566767591.png){height="" width="350"}


1. Az adatok akkor jelennek meg, amikor a féknyaláb váltogat, vagy amikor az áramértékek 5 másodpercenként frissülnek:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/How%20to%20Send%20Data%20to%20Machines%20from%20Edge%20Devices%20using%20Node-RED%20and%20Tulip%20Tags_566767660.png){height="" width=""}




---


Megtalálta, amit keresett?


A [community.tulip.co](https://community.tulip.co/?utm_source=intercom&utm_medium=article-link&utm_campaign=all) oldalon is megteheti, hogy felteszi kérdését, vagy megnézheti, hogy mások is szembesültek-e hasonló kérdéssel! 


Hasznos volt ez a cikk?