- Wydrukować
Zarządzanie stanami maszyny i liczbą części za pomocą Edge IO i Node-RED
Zarządzanie stanami maszyny i liczbą części za pomocą Edge IO i Node-RED
Dowiedz się, jak korzystać z przepływu widoczności maszyny Node-RED z Edge IO
W tym artykule omówiono przepływ pracy umożliwiający podłączenie czujnika wiązki zrywającej i czujnika prądu do Edge IO w celu zarządzania stanem i zliczania części w systemie Tulip. Wykorzystuje to przepływ biblioteki Tulip Node-RED, który można zaimportować do urządzenia brzegowego klienta.
Pod koniec tego artykułu będziesz mieć następujący przepływ w Node-RED, aby wysyłać dane z podłączonych czujników do maszyny w Tulip.
Będziesz musiał wykonać następujące kroki:
- Konfiguracja sprzętu: Podłączenie Edge IO
- Konfiguracja maszyny: Utwórz maszynę w Tulip
- Konfiguracja Node-RED: Importowanie, edytowanie i wdrażanie przepływu Node-RED z biblioteki Tulip.
Potrzebne będą następujące elementy:
Edge IO zarejestrowany na koncie Tulip
Czujnik prądu: CR3111-3000 inny podobny przekładnik prądowy
- Rezystor obciążenia o prawidłowym rozmiarze dla przekładnika prądowego, zalecany 100-omowy w przypadku CR3111-3000 (patrz Konfiguracja sprzętu w celu dobrania rozmiaru)
- Wiązka przerywająca
- Śrubokręt płaski 3,5 mm
1. Konfiguracja sprzętu - podłączenie Edge IO
Ta procedura zakłada, że będziesz używać przekładnika prądowego i wiązki wyłączającej podłączonej do Edge IO.
Obliczanie rozmiaru rezystora obciążenia: W przypadku korzystania z CR3111-3000 zalecamy rezystor 100 omów. Jeśli używany jest inny zacisk prądowy, można obliczyć maksymalny dozwolony rozmiar rezystora(
R_burden) na podstawie efektywnego współczynnika zwojów(T_e
) i maksymalnego prądu do pomiaru(I_max
) w następujący sposób: R_burden = 3,12 * T_e /
I_max. 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ę przerwania do Edge IO w następujący sposób:
Cęgi prądowe
- Pomiar prądu przemiennego przez kabel zasilający do urządzenia
- Podłącz rezystor między dwoma przewodami cęgów prądowych, jak pokazano na rysunku.
- Podłącz jeden przewód do zacisku ADC różnicowego [+] i jeden przewód do zacisku ADC różnicowego [-].
- Przerwanie wiązki
- Tworzenie części przechwytującej
- Podłącz brązowy przewód (+24 V) do zacisku +24 V przetwornika SAR ADC.
- Podłącz niebieski przewód (gnd) do zacisku uziemienia banku wejść cyfrowych.
- Podłącz czarny przewód (out) do styku 1 banku wejść cyfrowych.
Ponadto upewnij się, że urządzenie jest zasilane i podłączone do sieci, podłączając kabel Ethernet do portu WAN.
2. Konfiguracja urządzenia - Utwórz urządzenie w Tulip
Aby wysłać dane z wiązki przerwania i czujnika prądu do Tulip, najpierw skonfigurujmy maszynę przy użyciu interfejsu API Tulip jako źródła danych. Zapoznaj się z sekcją Konfigurowanie nowej maszyny w artykule Jak korzystać z interfejsu API atrybutów maszyny, aby uzyskać szczegółowy przegląd.
W tym przykładzie utworzyliśmy Machine z dwoma atrybutami:
- Current (float) - reprezentuje prąd zwracany przez czujnik.
- Part Count (int) - sygnał z wiązki przerywającej wskazujący ukończenie części.
Będziesz chciał zanotować wartości attributeId i
machineId
, aby przekazać je do przepływu Node-RED.
Możesz także skonfigurować typ maszyny, aby przypisać go do maszyny, jeśli planujesz użyć bieżącego czujnika do zmiany aspektów, takich jak stan maszyny lub wykonać dowolne zliczenia na podstawie danych wyjściowych czujnika. Zapoznaj się z sekcją Jak skonfigurować typy maszyn, jeśli jest to interesujące.
3. Konfiguracja Node-RED
Otwórz Edge Device Portal na urządzeniu Edge IO podłączonym do wiązki przełamującej i czujników prądu. Uruchom Edytor Node-RED przy użyciu następujących poświadczeń:
- Nazwa użytkownika: admin
- Hasło: hasło Edge IO
Więcej informacji można znaleźć tutaj, aby rozpocząć pracę z Node-RED na Edge IO.
3a. Importowanie przepływu biblioteki
Aby zaimportować przepływ biblioteki, wykonaj kroki opisane w dokumencie Importowanie przepływów Tulip Node-RED. Przepływ do zaimportowania to machine_visibility.json, a zaimportowanie tworzy kartę 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
Pierwsza ścieżka polega na monitorowaniu liczby części za pomocą czujnika wiązki łamiącej. Ten przepływ składa się z czterech węzłów funkcjonalnych:
Monitor Pin
- Cel: Zdefiniowanie pinów GPIO na Edge IO do monitorowania za pomocą właściwości enabled pin.
- Filter for pinUp
- Cel: Określenie na podstawie ładunku komunikatu, czy zdarzenie na monitorowanych pinach jest prawdziwe.
- Increment Part Count
- Cel: Zwiększenie liczby części zmiennej przepływu dla zdarzenia pin true.
- Atrybut maszyny Tulip: Part Count
- Cel: Wysłanie ładunku (partCount) do Tulip za pośrednictwem interfejsu API.
Monitorowanie prądu RMS
Druga ścieżka polega na monitorowaniu czujnika prądu podłączonego do wejścia ADC (przetwornika analogowo-cyfrowego). Ten przepływ składa się z sześciu węzłów funkcjonalnych.
Odczyty różnicowe ADC
- Cel: Przypisanie profilu konfiguracji analogowej do wejścia ADC.
- Filtr 1/5 odczytów
- Cel: Wyodrębnienie co piątego pomiaru (5 sekund) w celu przekazania do Tulip.
- Przekazanie komunikatu
- Cel: Zresetowanie liczby odczytów dla co piątego komunikatu z powrotem do zera.
- Odrzuć komunikat i przyrost
- Cel: W przypadku wszystkich pozostałych odczytów zwiększenie liczby odczytów o 1.
- Skalowanie CR-3111
- Cel: Skalowanie pomiaru czujnika w oparciu o specyfikacje producenta.
- Atrybut urządzenia Tulip: RMS Current
- Cel: Wysłanie ładunku (partCount) do Tulip za pośrednictwem interfejsu API.
Istnieją również cztery opcjonalne węzły, które są domyślnie wyłączone, ale można je włączyć, aby stan maszyny został określony przez Node-RED. Należy pamiętać, że możliwe jest również użycie wyzwalaczy maszynowych w Tulip do wykonania tej samej logiki.
Is Current > 100mA?
- Cel: Sprawdzenie, czy wartość prądu jest większa niż 100 mA.
- State = ON
- Cel: Ustaw ładunek na ON, jeśli prąd jest większy niż 100 mA.
- State = OFF
- Cel: Ustaw ładunek na OFF, jeśli prąd jest mniejszy lub równy 100 mA.
- Atrybut maszyny Tulip: State
- Cel: Wysłanie ładunku (stanu) do Tulip za pośrednictwem interfejsu API.
3c. Edycja przepływu
Aby zakończyć konfigurację tego przepływu, informacje o urządzeniu dla Tulip Machine Attribute: Part Count i Tulip Machine Attribute: RMS Current muszą być dołączone do pól
attributeId i
machineIdfield
z wcześniej skonfigurowanego urządzenia.
W zależności od używanego czujnika można dodatkowo edytować węzeł CR-3111 Scaling, aby odzwierciedlić współczynnik zwojów przekładnika prądowego.
3d. Wdrożenie przepływu
Po utworzeniu przepływu Node-RED i dodaniu niezbędnych parametrów można wdrożyć przepływ i rozpocząć wyświetlanie danych z wiązki przerywającej i czujników prądu na wyjściu Tulip.
Wybierając opcję Debug message po prawej stronie edytora Node-RED, powinieneś być w stanie zobaczyć odpowiedzi i odpowiadające im kody stanu z interfejsu API Tulip.
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 zapoznaj się z dokumentacją punktu końcowego POST /attributes/report
.
Teraz będziesz mógł zobaczyć dane również w Tulip, przechodząc do zakładki konfiguracji Machine.
Szczegóły techniczne przepływu Node-RED
Poniżej znajduje się szczegółowe podsumowanie węzłów i ich domyślnych parametrów konfiguracyjnych zaimportowanych z plikiem machine_visibility.json.
Część Licznik
Monitor Pin
Cel: Zdefiniowanie pinów GPIO na Edge IO do monitorowania poprzez właściwość enabled pin.
Typ węzła: Wejście cyfrowe
Domyślne właściwości:
- Tryb pracy -
ciągły
- Częstotliwość odświeżania - 1
sekunda
- Włączone piny -
1
- Filtr dla pinUp
- Tryb pracy -
Cel: Określenie na podstawie ładunku komunikatu, czy zdarzenie na monitorowanych pinach jest prawdziwe.
Typ węzła: Switch
Domyślne właściwości:
- Właściwość -
msg.payload
- Rules -
is true
- Increment Part Count
- Właściwość -
Cel: Zwiększa liczbę części zmiennej przepływu przy zdarzeniu pinu true.
Typ węzła: Zmiana
Domyślne właściwości:
Reguły:
- Ustaw
flow
.partCount na wyrażenie$flowContext('partCount') + 1
- Ustaw
msg.payload
na flow.
partCount - Atrybut maszyny Tulip: Part Count
- Ustaw
Cel: Wysłanie ładunku (partCount) do Tulip przez 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* -
Monitor RMS Current
Różnicowe odczyty ADC
Cel: Przypisanie profilu konfiguracji analogowej do wejścia ADC.
Typ węzła: Szybki analog
Właściwości domyślne:
Analog Config -
Differential ADC RMS @ 1kHZ
- Wybierz ADC do konfiguracji - Różnicowy
ADC
- Włączone wyjścia -
RMS
- Rozmiar bufora -
1000
- Częstotliwość próbkowania (Hz) -
1000
+ Typ danych -RMS
+ Tryb wyjścia -Ciągły
+ Częstotliwość odświeżania (sekundy) -1
- Filtr 1/5 odczytów
- Wybierz ADC do konfiguracji - Różnicowy
Cel: Wyodrębnienie co piątego pomiaru (5 sekund) w celu przekazania do Tulip.
Typ węzła: Switch
Domyślne właściwości:
Właściwość -
flow.numReadings
Reguły:
== 4
w przeciwnym razie
- Przekaż wiadomość
Cel: Zresetowanie liczby odczytów dla co piątej wiadomości z powrotem do zera.
Typ węzła: Zmień
Domyślne właściwości:
Reguły:
- Ustaw
flow.numReadings
na0
- Upuść wiadomość i przyrost
- Ustaw
Cel: Dla wszystkich innych odczytów, zwiększ liczbę odczytów o 1.
Typ węzła: Zmiana
Właściwości domyślne:
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: Szablon przepływu podrzędnego
Domyślne właściwości:
- Właściwość -
dane
- Scale* -
3000
- Przesunięcie -
0
- Atrybut maszyny Tulip: RMS Current
- Właściwość -
Cel: Wysłanie ładunku (partCount) do Tulip za pośrednictwem interfejsu 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* -
Przepływ podrzędny do obliczania stanu urządzenia
Is Current > 100mA?
Cel: Sprawdzenie, czy wartość prądu jest większa niż 100 mA.
Typ węzła: Switch
Domyślne właściwości:
Właściwość -
msg.data[0]
Reguły:
> 0.1
w przeciwnym razie
- State = ON
Cel: Ustaw ładunek na ON, jeśli prąd jest większy niż 100 mA.
Typ węzła: Zmiana
Domyślne właściwości:
Reguły:
- Ustaw
msg.payload
naON
- State = OFF
- Ustaw
Cel: Ustaw ładunek na OFF, jeśli prąd jest mniejszy lub równy 100 mA.
Typ węzła: Zmiana
Domyślne właściwości:
Reguły:
- Ustaw
msg.payload
naOFF
- Atrybut maszyny Tulip: Stan
- Ustaw
Cel: Wysyłanie ładunku (stanu) do Tulip przez 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 bieżącego czujnika powinna zostać zmodyfikowana zgodnie z zaleceniami producenta.
Więcej informacji
- Dokumentacja Node-RED
- Podłączanie czujnika 4-20 mA za pomocą Edge IO i Node-RED
- Podłączanie oscyloskopu analogowego 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 opublikować swoje pytanie lub sprawdzić, czy inni mieli do czynienia z podobnym pytaniem!