- Wydrukować
Zarządzanie stanami maszyn i liczbą części za pomocą Edge IO i Node-RED
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:
- Hardware Setup: Podłączenie Edge IO
- Konfiguracja maszyny: Utwórz maszynę w Tulipie
- 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:
- Current (float) - reprezentuje prąd zwracany przez czujnik.
- 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:
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.
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ę.
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
machineIdf
z 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
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
- Run Mode - Continuous (Tryb pracy -
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
- Właściwość -
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
- Ustaw
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
- Device Info* -
Monitorowanie prądu RMS
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
- Wybierz ADC do skonfigurowania -
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
to0
- Usunięcie wiadomości i inkrementacja
- Set
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
- Ustaw
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
- Właściwość -
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]
- Device Info* -
Podprzepływ do obliczenia stanu maszyny
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
naON
- Stan = OFF
- Ustaw
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
toOFF
- Tulipan Machine Atrybut: State
- Set
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
- Device Info* -
* 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
- Dokumentacja Node-RED
- Podłączenie czujnika 4-20 mA z Edge IO i Node-RED
- Podłączenie analogowego oscyloskopu za pomocą Edge IO i Node-RED.
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!