Panel sterowania Habr oparty na HMI firmy Advantech


Wideo: konsola administracyjna Habr. Pozwala regulować karmę, oceniać i blokować użytkowników.

TL; DR: W tym artykule postaram się stworzyć komiksowy panel sterowania Habr wykorzystując środowisko programistyczne interfejsu przemysłowego Webaccess/HMI Designer oraz terminal WebOP.

Interfejs człowiek-maszyna (HMI) to zestaw systemów umożliwiających interakcję człowieka ze sterowanymi maszynami. Zazwyczaj termin ten jest stosowany do systemów przemysłowych, które mają operatora i panel sterowania.

WebOP — autonomiczny terminal przemysłowy do tworzenia interfejsów człowiek-maszyna. Służy do tworzenia paneli sterowania produkcją, systemów monitoringu, sterowni, sterowników inteligentnego domu itp. Obsługuje bezpośrednie połączenie z urządzeniami przemysłowymi i może pracować w ramach systemu SCADA.

Terminal WebOP - sprzęt

Panel sterowania Habr oparty na HMI firmy AdvantechTerminal WebOP to komputer małej mocy, oparty na procesorze ARM, w jednej obudowie z monitorem i ekranem dotykowym, przeznaczony do uruchamiania programu z interfejsem graficznym utworzonym w HMI Designer. W zależności od modelu terminale posiadają na pokładzie różne interfejsy przemysłowe: RS-232/422/485, magistralę CAN do podłączenia do systemów samochodowych, port USB Host do podłączenia dodatkowych urządzeń peryferyjnych, port USB Client do podłączenia terminala do komputera, audio wejście i wyjście audio, czytnik kart MicroSD do pamięci nieulotnej i transferu ustawień.

Urządzenia są pozycjonowane jako budżetowy zamiennik komputerów typu all-in-one, do zadań, które nie wymagają wydajnych procesorów i zasobów pełnoprawnego komputera stacjonarnego. WebOP może pracować jako samodzielny terminal do sterowania i wprowadzania/wyprowadzania danych, w połączeniu z innymi WebOPami lub jako część systemu SCADA.

Panel sterowania Habr oparty na HMI firmy Advantech
Terminal WebOP może łączyć się bezpośrednio z urządzeniami przemysłowymi

Chłodzenie pasywne i ochrona IP66

Ze względu na niskie odprowadzanie ciepła, niektóre modele WebOP zostały zaprojektowane całkowicie bez aktywnego chłodzenia powietrzem. Pozwala to na montaż urządzeń w miejscach wrażliwych na poziom hałasu oraz ogranicza ilość przedostającego się kurzu do wnętrza obudowy.

Panel przedni wykonany jest bez szczelin i łączeń, posiada stopień ochrony IP66 i umożliwia bezpośrednie wnikanie wody pod ciśnieniem.

Panel sterowania Habr oparty na HMI firmy Advantech
Panel tylny terminala WOP-3100T

Pamięć nieulotna

Aby zapobiec utracie danych, WebOP posiada 128 KB pamięci nieulotnej, z którą można pracować w taki sam sposób, jak z pamięcią RAM. Może przechowywać odczyty liczników i inne krytyczne dane. W przypadku awarii zasilania dane zostaną zapisane i przywrócone po ponownym uruchomieniu.

Zdalna aktualizacja

Program działający na terminalu można aktualizować zdalnie poprzez sieć Ethernet lub poprzez interfejsy szeregowe RS-232/485. Upraszcza to konserwację, ponieważ eliminuje potrzebę odwiedzania wszystkich terminali w celu aktualizacji oprogramowania.

Modele WebOP

Panel sterowania Habr oparty na HMI firmy Advantech
Seria 2000T - najtańsze urządzenia zbudowane w oparciu o system operacyjny czasu rzeczywistego HMI RTOS. Serię reprezentuje WebOP-2040T/2070T/2080T/2100T, o przekątnych ekranu odpowiednio 4,3 cala, 7 cali, 8 cali i 10.1 cala.

Panel sterowania Habr oparty na HMI firmy Advantech
Seria 3000T — bardziej zaawansowane modele oparte na systemie operacyjnym Windows CE. Różnią się od serii 2000T dużą ilością interfejsów sprzętowych oraz posiadają na pokładzie interfejs CAN. Urządzenia pracują w rozszerzonym zakresie temperatur (-20~60°C) i posiadają zabezpieczenie antystatyczne (Powietrze: 15KV/Kontakt: 8KV). Linia w pełni spełnia wymagania normy IEC-61000, która pozwala na zastosowanie urządzeń w produkcji półprzewodników, gdzie występuje problem wyładowań statycznych. Serię reprezentuje WebOP-3070T/3100T/3120T, o przekątnych ekranu odpowiednio 7 cali, 10.1 cala i 12.1 cala.

Środowisko programistyczne WebAccess/HMI Designer

Po wyjęciu z pudełka terminal WebOP to po prostu komputer ARM o niskim poborze mocy, na którym można uruchomić dowolne oprogramowanie, ale cały sens tego rozwiązania polega na zastrzeżonym środowisku programistycznym interfejsu przemysłowego WebAcess/HMI. System składa się z dwóch elementów:

  • Projektant HMI — środowisko do tworzenia interfejsów i logiki programowania. Działa w systemie Windows na komputerze programisty. Ostateczny program jest kompilowany do jednego pliku i przesyłany do terminala w celu wykonania w czasie wykonywania. Program jest dostępny w języku rosyjskim.
  • Czas działania HMI — środowisko wykonawcze do uruchamiania skompilowanego programu na terminalu końcowym. Może pracować nie tylko na terminalach WebOP, ale także na Advantech UNO, MIC i zwykłych komputerach stacjonarnych. Istnieją wersje uruchomieniowe dla systemów Linux, Windows, Windows CE.

Panel sterowania Habr oparty na HMI firmy Advantech

Witaj świecie - tworzenie projektu

Zacznijmy tworzyć interfejs testowy dla naszego panelu sterowania Habr. Uruchomię program na terminalu WebOP-3100T uruchomić WinCE. Najpierw utwórzmy nowy projekt w HMI Designer. Aby uruchomić program na WebOP, ważne jest, aby wybrać odpowiedni model, od tego będzie zależeć format końcowego pliku. Na tym etapie możesz także wybrać architekturę pulpitu, a następnie ostateczny plik zostanie skompilowany dla środowiska wykonawczego X86.

Panel sterowania Habr oparty na HMI firmy Advantech
Tworzenie nowego projektu i wybór architektury

Wybór protokołu komunikacyjnego, poprzez który skompilowany program zostanie załadowany do WebOP. Na tym etapie możesz wybrać interfejs szeregowy lub określić adres IP terminala.
Panel sterowania Habr oparty na HMI firmy Advantech

Interfejs tworzenia projektów. Po lewej stronie znajduje się schemat drzewa elementów przyszłego programu. Na razie interesuje nas tylko pozycja Ekrany, są to bezpośrednio ekrany z elementami interfejsu graficznego, które będą wyświetlane na terminalu.

Panel sterowania Habr oparty na HMI firmy Advantech

Najpierw utwórzmy dwa ekrany z tekstem „Hello World” i możliwością przełączania się między nimi za pomocą przycisków. W tym celu dodamy nowy ekran, Ekran #2, a na każdym ekranie dodamy element tekstowy i dwa przyciski do przełączania pomiędzy ekranami (Przyciski Ekranowe). Skonfigurujmy każdy przycisk, aby przejść do następnego ekranu.
Panel sterowania Habr oparty na HMI firmy Advantech
Interfejs do ustawiania przycisku do przełączania między ekranami

Program Hello World jest gotowy, teraz możesz go skompilować i uruchomić. Na etapie kompilacji mogą pojawić się błędy w przypadku błędnie podanych zmiennych lub adresów. Każdy błąd jest uważany za krytyczny; program zostanie skompilowany tylko wtedy, gdy nie będzie żadnych błędów.
Środowisko zapewnia możliwość symulacji terminala, dzięki czemu można lokalnie debugować program na komputerze. Istnieją dwa rodzaje symulacji:

  • Symulacja online — wykorzystane zostaną wszystkie zewnętrzne źródła danych określone w programie. Mogą to być USO lub urządzenia podłączone poprzez interfejsy szeregowe lub Modbus TCP.
  • Symulacja offline — symulacja bez użycia urządzeń zewnętrznych.

Choć nie dysponujemy danymi zewnętrznymi, korzystamy z symulacji offline, po uprzednim skompilowaniu programu. Ostateczny program będzie znajdować się w folderze projektu, pod nazwą NazwaProjektu_NazwaProgramu.px3

Panel sterowania Habr oparty na HMI firmy Advantech
Programem uruchomionym w symulacji można sterować za pomocą kursora myszy w taki sam sposób, jak na ekranie dotykowym terminala WebOP. Widzimy, że wszystko działa zgodnie z założeniami. Świetnie.
Aby pobrać program na terminal fizyczny, wystarczy kliknąć przycisk Pobierz. Ponieważ jednak nie skonfigurowałem połączenia terminala ze środowiskiem programistycznym, możesz po prostu przenieść plik za pomocą napędu flash USB lub karty pamięci MicroSD.
Panel sterowania Habr oparty na HMI firmy Advantech
Interfejs programu jest intuicyjny, nie będę omawiał każdego bloku graficznego. Tworzenie tła, kształtów i tekstu będzie jasne dla każdego, kto korzystał z programów podobnych do Worda. Do stworzenia interfejsu graficznego nie jest wymagana umiejętność programowania, wszystkie elementy dodawane są poprzez przeciągnięcie myszką na formularz.

Praca z pamięcią

Skoro już wiemy jak tworzyć elementy graficzne, nauczmy się pracować z treścią dynamiczną i językiem skryptowym. Stwórzmy wykres słupkowy prezentujący dane ze zmiennej U $ 100. W ustawieniach wykresu wybierz typ danych: 16-bitowa liczba całkowita oraz zakres wartości wykresu: od 0 do 10.

Panel sterowania Habr oparty na HMI firmy Advantech

Program umożliwia pisanie skryptów w trzech językach: VBScript, JavaScript oraz w języku własnym. Skorzystam z trzeciej opcji, ponieważ są na nią przykłady w dokumentacji i automatyczna pomoc dotycząca składni bezpośrednio w edytorze.

Dodajmy nowe makro:

Panel sterowania Habr oparty na HMI firmy Advantech

Napiszmy prosty kod, aby stopniowo zmieniać dane w zmiennej, którą można śledzić na wykresie. Do zmiennej dodamy 10 i zresetujemy ją do zera, gdy będzie większa niż 100.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Aby wykonać skrypt w pętli, ustaw go w ustawieniach Konfiguracji ogólnej jako Makro główne, z interwałem wykonania 250ms.

Panel sterowania Habr oparty na HMI firmy Advantech
Skompilujmy i uruchommy program w symulatorze:

Panel sterowania Habr oparty na HMI firmy Advantech

Na tym etapie nauczyliśmy się manipulować danymi w pamięci i wyświetlać je wizualnie. To już wystarczy, aby stworzyć prosty system monitorowania, odbierający dane z urządzeń zewnętrznych (czujniki, sterowniki) i zapisując je w pamięci. W HMI Designer dostępne są różne bloki wyświetlania danych: w postaci okrągłych tarcz ze strzałkami, różnych wykresów i wykresów. Korzystając ze skryptów JavaScript, możesz pobierać dane ze źródeł zewnętrznych za pośrednictwem protokołu HTTP.

Panel sterowania Habr

Wykorzystując nabyte umiejętności wykonamy komiksowy interfejs dla konsoli administracyjnej Habr.

Panel sterowania Habr oparty na HMI firmy Advantech

Nasz pilot powinien móc:

  • Przełącz profile użytkowników
  • Przechowuj karmę i dane ocen
  • Zmień wartości karmy i oceny za pomocą suwaków
  • Po kliknięciu przycisku „zablokuj” profil powinien zostać oznaczony jako zbanowany, a awatar powinien zmienić się na przekreślony

Każdy profil wyświetlimy na osobnej stronie, dlatego utworzymy stronę dla każdego profilu. Będziemy przechowywać karmę i ocenę w zmiennych lokalnych w pamięci, która zostanie zainicjowana za pomocą makra konfiguracyjnego po uruchomieniu programu.

Panel sterowania Habr oparty na HMI firmy Advantech
Obraz jest klikalny

Dostosowywanie karmy i oceny

Do regulacji karmy użyjemy suwaka (Slide Switch). Jako adres zapisu podajemy zmienną zainicjalizowaną w Makro Konfiguracyjnym. Ograniczmy zakres wartości suwaka od 0 do 1500. Teraz, gdy suwak się przesunie, nowe dane zostaną zapisane do pamięci. W takim przypadku początkowy stan suwaka będzie odpowiadał wartościom zmiennej w pamięci.

Panel sterowania Habr oparty na HMI firmy Advantech
Aby wyświetlić wartości liczbowe karmy i oceny, użyjemy elementu wyświetlania numerycznego. Zasada jego działania jest podobna do schematu z przykładowego programu „Hello World”, po prostu wskazujemy adres zmiennej w polu Adres monitora.

Przycisk zakazu

Przycisk „ban” jest realizowany za pomocą elementu przełącznika. Zasada przechowywania danych jest podobna do powyższych przykładów. W ustawieniach możesz wybrać inny tekst, kolor lub obraz, w zależności od stanu przycisku.

Panel sterowania Habr oparty na HMI firmy Advantech
Po naciśnięciu przycisku awatar powinien być przekreślony na czerwono. Można to łatwo wdrożyć za pomocą bloku Picture Display. Umożliwia określenie wielu obrazów powiązanych ze stanem przycisku przełącznika. W tym celu blok otrzymuje ten sam adres co blok z przyciskiem i liczbę stanów. Podobnie ustawia się obrazek z tabliczkami znamionowymi pod awatarem.

Panel sterowania Habr oparty na HMI firmy Advantech

wniosek

Ogólnie rzecz biorąc, produkt mi się podobał. Wcześniej miałem doświadczenie w korzystaniu z tabletu z Androidem do podobnych zadań, jednak opracowanie dla niego interfejsu jest znacznie trudniejsze, a API przeglądarki nie pozwalają na pełny dostęp do urządzeń peryferyjnych. Jeden terminal WebOP może zastąpić połączenie tabletu z systemem Android, komputera i kontrolera.

HMI Designer, pomimo swojej archaicznej konstrukcji, jest dość zaawansowany. Bez specjalnych umiejętności programowania możesz szybko naszkicować działający interfejs. W artykule nie omówiono wszystkich bloków graficznych, których jest mnóstwo: animowane rury, cylindry, wykresy, przełączniki. Obsługuje wiele popularnych sterowników przemysłowych od razu po wyjęciu z pudełka i zawiera złącza baz danych.

referencje

Można pobrać środowisko programistyczne WebAccess/HMI Designer i Runtime tutaj

Źródła projektu panelu sterowania Habr

Źródło: www.habr.com

Dodaj komentarz