Zarządzanie stanami maszyn i liczbą części za pomocą Edge IO i Node-RED
  • 20 Dec 2022
  • 7 Minuty do przeczytania
  • Współtwórcy

Zarządzanie stanami maszyn i liczbą części za pomocą Edge IO i Node-RED


Article Summary

Zarządzanie stanami maszyn i liczbą części za pomocą Edge IO i Node-RED

Dowiedz się, jak używać przepływu Node-RED do widoczności maszyny z Edge IO.

Ten artykuł omawia przepływ pracy, aby podłączyć czujnik wiązki zerowej i czujnik prądu do Edge IO w celu zarządzania stanem i liczeniem części w Tulipie. Wykorzystuje to przepływ biblioteki Tulip Node-RED, która może być importowana do urządzenia brzegowego klienta.

Do końca tego artykułu, będziesz miał następujący przepływ w Node-RED, aby wysłać dane z podłączonych czujników do maszyny w Tulip.

Będziesz musiał wykonać następujące kroki:

  1. Hardware Setup: Podłączenie Edge IO
  2. Konfiguracja maszyny: Utwórz maszynę w Tulipie
  3. Konfiguracja Node-RED: Import, edycja i wdrożenie przepływu Node-RED z biblioteki Tulipa

Co będziesz potrzebował to:

  • Edge IO zarejestrowany na Twoim koncie w Tulipie

  • Aktualny czujnik: CR3111-3000 inny podobny przekładnik prądowy

    • Prawidłowo zwymiarowany rezystor obciążający dla przekładnika prądowego, zalecany 100-omowy w przypadku CR3111-3000 (zobacz Konfigurację sprzętu w celu określenia rozmiaru)
    • Wiązka łamana
    • 3,5 mm śrubokręt płaski

1. Konfiguracja sprzętu - okablowanie Edge IO

Ten przepływ pracy zakłada, że będziesz używał przekładnika prądowego i wiązki zerującej podłączonej do Edge IO.

Obliczanie rozmiaru rezystora obciążenia: Jeśli używasz CR3111-3000, zalecamy rezystor 100-omowy. Jeśli używasz innego zacisku prądowego, możesz obliczyć maksymalną dopuszczalną wielkość rezystora(R_burden) z efektywnego współczynnika skręcenia (T_e) i maksymalnego prądu do pomiaru(I_max) w następujący sposób: R_burden = 3,12 * T_e / I_max. Twój rezystor może być mniejszy niż maksymalny dozwolony rozmiar rezystora; zmniejszy to rozdzielczość czujnika.

Podłącz cęg prądowy (CR3111-3000) i wiązkę zerową do Edge IO w następujący sposób:

  • Cęgi prądowe

    • Zmierz prąd zmienny przez kabel zasilający do urządzenia
    • Podłącz rezystor pomiędzy dwoma przewodami cęgów prądowych jak pokazano na rysunku
    • Podłącz jeden przewód do zacisku różnicowego ADC [+], a drugi do zacisku różnicowego ADC [-].
    • Przerwanie wiązki
    • Przechwytywanie tworzenia części
    • Podłącz brązowy przewód (+24V) do zacisku +24V na przetworniku SAR ADC
    • Dołącz niebieski przewód (gnd) do zacisku masy banku wejść cyfrowych
    • Podłącz czarny przewód (out) do pinu 1 banku wejść cyfrowych.

Dodatkowo upewnij się, że urządzenie zostało zasilone i podłączone do sieci poprzez podłączenie kabla ethernet do portu WAN.

2. Konfiguracja maszyny - tworzenie maszyny w Tulipie

Aby wysłać dane z belki zerowej i czujnika prądu do Tulipa, najpierw ustawmy Maszynę używając Tulip API jako jej źródła danych. Odnieś się do sekcji Ustawianie nowej maszyny w artykule Jak używać API atrybutów maszyny, aby uzyskać szczegółowe omówienie.

W tym przykładzie, stworzyliśmy maszynę z dwoma atrybutami:

  1. Current (float) - reprezentuje prąd zwracany przez czujnik.
  2. Part Count (int) - sygnał z belki łamanej wskazujący na ukończenie części.

Będziesz chciał zanotować swoje wartości attributeId i machineId, aby przekazać je do przepływu Node-RED.

Możesz również skonfigurować typ maszyny, aby przypisać go do maszyny, jeśli planujesz użyć czujnika prądu do zmiany takich aspektów jak stan maszyny lub wykonać jakiekolwiek zliczenia oparte na wyjściach czujnika. Jeśli jest to interesujące, patrz Jak skonfigurować typy maszyn.

3. Konfiguracja Node-RED

Otwórz Portal Urządzeń Edge na urządzeniu Edge IO podłączonym do wiązki zerującej i czujników prądu. Uruchom Edytor Node-RED używając następujących danych uwierzytelniających:

  • Nazwa użytkownika: admin
  • Hasło: Twoje hasło do Edge IO

Zobacz więcej informacji tutaj, aby rozpocząć pracę z Node-RED na Edge IO.

3a. Importuj przepływ biblioteki

Aby zaimportować przepływ biblioteki, wykonaj kroki w naszym dokumencie Importowanie przepływów Tulip Node-RED. Przepływ do zaimportowania to machine_visibility.json, a importowanie tworzy zakładkę Machine Visibility with Current Clamp and Breakbeam w edytorze.

3b. Przegląd przepływu

Ten przepływ składa się z dwóch oddzielnych strumieni roboczych:

Licznik części (Part Counter)

Pierwszą ścieżką jest monitorowanie liczby części poprzez czujnik wiązki zerowej. Przepływ ten składa się z czterech węzłów funkcjonalnych:

  1. Monitor Pin

    • Cel: Zdefiniowanie pinu(ów) GPIO na Edge IO do monitorowania poprzez właściwość enabled pin.
    • Filtr dla pinUp
    • Cel: Na podstawie ładunku wiadomości określ, czy zdarzenie na monitorowanym pinie(ach) jest prawdziwe.
    • Zwiększanie liczby części
    • Cel: Zwiększenie liczby części zmiennej przepływu przy zdarzeniu pin true.
    • Atrybut maszyny Tulip: Part Count.
    • Cel: Wysłać ładunek (partCount) do Tulipa przez API.

Monitorowanie prądu RMS

Drugą ścieżką jest monitorowanie czujnika prądu podłączonego do wejścia ADC (przetwornik analogowo-cyfrowy). Ten przepływ składa się z sześciu węzłów funkcjonalnych.

  1. Różnicowe odczyty ADC

    • Cel: Przypisanie profilu konfiguracji analogowej do wejścia ADC.
    • Filtrowanie odczytów 1/5
    • Cel: Wyodrębnienie co piątego pomiaru (5 sekund) w celu przekazania do Tulipa.
    • Przekazać komunikat
    • Cel: Wyzerować licznik odczytów dla co piątego komunikatu.
    • Odrzucić komunikat i przyrost
    • Cel: Dla wszystkich pozostałych odczytów zwiększ liczbę odczytów o 1.
    • CR-3111 Skalowanie
    • Cel: Przeskaluj pomiar czujnika na podstawie specyfikacji producenta.
    • Tulipan Atrybut maszyny: RMS Current
    • Cel: Wysłanie ładunku (partCount) do Tulipa poprzez API.

Istnieją również cztery opcjonalne węzły, które są domyślnie wyłączone, ale mogą być włączone, aby mieć stan maszyny określony przez Node-RED. Zauważ, że możliwe jest również użycie wyzwalaczy maszynowych w Tulipie, aby wykonać tę samą logikę.

  1. Czy prąd jest > 100mA?

    • Cel: Sprawdzenie czy wartość prądu jest większa niż 100 mA.
    • State = ON
    • Cel: Ustawienie obciążenia na ON, jeśli prąd jest większy niż 100 mA.
    • State = OFF
    • Cel: Ustawienie obciążenia na OFF, jeżeli prąd jest mniejszy lub równy 100 mA.
    • Atrybut maszyny Tulipan: State
    • Cel: Wysłać ładunek (stan) do Tulipa przez API.

3c. Edytuj przepływ

Aby zakończyć ustawianie tego przepływu, informacje o urządzeniu dla atrybutu Tulip Machine: Part Count i Tulip Machine Attribute: RMS Current nodes muszą być zawarte z polami attributeId i machineIdfz maszyny skonfigurowanej wcześniej.

W zależności od używanego czujnika, możesz dodatkowo edytować węzeł CR-3111 Scaling, aby odzwierciedlić stosunek obrotów twojego transformatora prądowego.

3d. Wdrożenie przepływu

Mając zbudowany przepływ Node-RED i dodane niezbędne parametry, możesz wdrożyć przepływ i zacząć widzieć dane z wiązki zerowej i czujników prądu na wyjściu do Tulipa.

Poprzez wybranie opcji Debug message po prawej stronie edytora Node-RED, powinieneś być w stanie zobaczyć odpowiedzi i odpowiadające im kody statusu z API Tulipa.

Aby uzyskać więcej informacji na temat kodów statusu, przejdź do dokumentacji API w swojej instancji Tulip (tj. .tulip.co/apidocs). W szczególności należy odnieść się do dokumentacji punktu końcowego POST /attributes/report.

Teraz będziesz mógł zobaczyć dane również w Tulipie, przechodząc do zakładki konfiguracyjnej Maszyny.

Szczegóły techniczne przepływu Node-RED

Poniżej znajduje się szczegółowe zestawienie węzłów i ich domyślnych parametrów konfiguracyjnych zaimportowanych wraz z plikiem machine_visibility.json.

Część Licznik

  1. Monitor Pin

    • Cel: Zdefiniowanie pinu(ów) GPIO na Edge IO do monitorowania poprzez właściwość enabled pin.

    • Typ węzła: Digital input (wejście cyfrowe)

    • Właściwości domyślne:

      • Run Mode - Continuous (Tryb pracy - ciągły)
      • Częstotliwość odświeżania - 1 sekunda
      • Włączone piny - 1
      • Filtr dla pinUp
    • Cel: Na podstawie payloadu wiadomości określić, czy zdarzenie na monitorowanym pinie (pinach) jest prawdziwe.

    • Typ węzła: Switch

    • Domyślne właściwości:

      • Właściwość - msg.payload
      • Reguły - is true
      • Zwiększanie liczby części
    • Cel: Zwiększenie liczby części zmiennej przepływu przy zdarzeniu pin true.

    • Typ węzła: Change

    • Domyślne właściwości:

      • Reguły:

        • Ustaw flow.partCount na wyrażenie $flowContext('partCount') + 1
        • Ustaw msg.payload na flow .partCount
        • Tulipan Machine Atrybut: Part Count
    • Cel: Wysłanie payload (partCount) do Tulipa poprzez API.

    • Typ węzła: Atrybut maszyny

    • Domyślne właściwości:

      • Device Info* - {"attributeId":"", "machineId":""}
      • Źródło atrybutu - msg.payload

Monitorowanie prądu RMS

  1. Różnicowe odczyty ADC

    • Cel: Przypisanie profilu konfiguracji analogowej do wejścia ADC.

    • Typ węzła: High speed analog

    • Właściwości domyślne:

      • Analog Config - Differential ADC RMS @ 1kHZ

        • Wybierz ADC do skonfigurowania - Różnicowy ADC
        • Enabled Outputs - RMS
        • Rozmiar bufora - 1000
        • Częstotliwość próbkowania (Hz) - 1000+ Typ danych - RMS+ Tryb wyjścia - ciągły+ Szybkość odświeżania (sekundy) - 1
        • Filtr 1/5 odczytów
    • Cel: Wyodrębnienie co piątego pomiaru (5 sekund) do przekazania do Tulipana.

    • Typ węzła: Switch

    • Default properties:

      • Właściwość - flow.numReadings

      • Reguły:

        • == 4
        • w przeciwnym razie
        • Przekaż wiadomość
    • Cel: Wyzerowanie licznika odczytów dla co piątego komunikatu.

    • Typ węzła: Change

    • Właściwości domyślne:

      • Reguły:

        • Set flow.numReadings to 0
        • Usunięcie wiadomości i inkrementacja
    • Cel: Dla wszystkich pozostałych odczytów, inkrementuj liczbę odczytów o 1.

    • Typ węzła: Change

    • Domyślne właściwości:

      • Reguły:

        • Ustaw flow.numReadings na wyrażenie $flowContext('numReadings') + 1
        • CR-3111 Skalowanie
    • Cel: Skalowanie pomiaru czujnika na podstawie specyfikacji producenta.

    • Typ węzła: Subflow template

    • Domyślne właściwości:

      • Właściwość - dane.
      • Scale* - 3000
      • Przesunięcie - 0
      • Atrybut maszyny Tulipan: RMS Current
    • Cel: Wysłanie ładunku (partCount) do Tulipa poprzez API.

    • Typ węzła: Atrybut maszyny

    • Domyślne właściwości:

      • Device Info* - {"attributeId":"", "machineId":""}
      • Źródło atrybutu - msg.data[0]

Podprzepływ do obliczenia stanu maszyny

  1. Czy prąd jest > 100mA?

    • Cel: Sprawdzenie, czy wartość prądu jest większa niż 100 mA.

    • Typ węzła: Switch

    • Właściwości domyślne:

      • Property - msg.data[0]

      • Reguły:

        • > 0.1
        • w przeciwnym razie
        • Stan = ON
    • Cel: Ustawienie obciążenia użytkowego na ON, jeśli prąd jest większy niż 100 mA.

    • Typ węzła: Change

    • Domyślne właściwości:

      • Reguły:

        • Ustaw msg.payload na ON
        • Stan = OFF
    • Cel: Ustaw payload na OFF, jeśli prąd jest mniejszy lub równy 100 mA.

    • Typ węzła: Change

    • Właściwości domyślne:

      • Reguły:

        • Set msg.payload to OFF
        • Tulipan Machine Atrybut: State
    • Cel: Wysłać payload (stan) do Tulipa poprzez API.

    • Typ węzła: Atrybut maszyny

    • Domyślne właściwości:

      • Device Info* - {"attributeId":"", "machineId":""}
      • Źródło atrybutu - msg.payload

* Parametry muszą zostać zaktualizowane, aby przepływ działał prawidłowo. Wartość skali czujnika prądu powinna zostać zmodyfikowana zgodnie z zaleceniem producenta.

Dalsze czytanie


Czy znalazłeś to, czego szukałeś?

Możesz również udać się na stronę community.tulip.co, aby zadać swoje pytanie lub sprawdzić, czy inni spotkali się z podobnym pytaniem!


Czy ten artykuł był pomocny?