Wysyłanie wiadomości

Dziś skupimy się na kolejnej funkcji WebHMI, która może okazać się bardzo przydatna. Wysyłanie wiadomości z urządzenia, które wizualizuje nam całe procesy jest niezbędne w przypadkach, gdy chcemy zostać poinformowani o nietypowych wydarzeniach będąc daleko od miejsca zdarzenia. Dzięki takiej funkcji możemy dostać informacje o wystąpieniu niepożądanych stanów w procesie, np.: przekroczeniach zadanej temperatury, poziomu cieczy, stężenia gazów, ciśnienia i wielu innych. Również przy pomocy jednego przycisku na panelu operatorskim można wezwać obsługę techniczną do naprawy urządzenia w razie awarii. Taki przycisk wyśle wiadomość do każdej osoby z informacją o usterce z prośbą o jak najszybsze przybycie. Bardziej osobiście WebHMI może przypomnieć nam o spotkaniu biznesowym wtedy, gdy umieścimy to w kalendarzu urządzenia. Przy wykorzystaniu skryptów możemy też wygenerować proste raporty, które codziennie będą wysyłanie do odpowiednich osób. To jest tylko kilka przykładów użycia wysłania wiadomości a jest ich o wiele, wiele więcej. W takim razie od czego zacząć, aby móc je wysyłać?

Konto Level2

Aby móc wysyłać wiadomości przy pomocy WebHMI należy posiadać konto na portalu Level2. W celu wysyłania wiadomości SMS i Email konieczne jest doładowanie konta, ponieważ te usługi są płatne. Taryfy prezentują się następująco:

Telegram

W celu otrzymywania wiadomości w postaci telegramu z WebHMI potrzebujemy odpowiedniej aplikacji do pobrania ze strony https://telegram.org/ lub ze sklepu z aplikacjami. Po zainstalowaniu aplikacji możemy przejść do uzyskania ChatId. Aby go otrzymać przy pomocy telefonu przechodzimy na stronę http://telegram.me/webhmibot. Po kliknięciu przycisku send message automatycznie zostajemy przeniesieni do aplikacji Telegram. Wybieramy start i dostajemy wiadomość z unikalnym numerem ChatId. 

Teraz mamy wszystkie niezbędne informacje aby wysłać telegram. Wiadomość tego typu zostanie wysłana przy pomocy funkcji SendTelegramMessage(chatId, message) wywołanej w skryptach WebHMI. Pierwszym jej argumentem jest otrzymany ChatId, a drugim treść wiadomości zapisanej w cudzysłowie lub za pomocą zmiennej typu string. Przykładem poprawnie zapisanej funkcji w skryptach będzie:

Treść wysyłanej wiadomości musi być zapisana w cudzysłowie lub za pomocą zmiennej typu string.

E-mail

Wysłanie wiadomości e-mail nie wymaga od nas ściągnięcia żadnej aplikacji ani uzyskiwania numerów ID. Wystarczy znać adres e-mail, na który chcemy wysłać wiadomość. Wykorzystujemy funkcję SendEmailMessage(emailAddress, subject, message). Oprócz treści wiadomości w argumentach funkcji musimy podać tytuł naszego e-maila, np.:

Tak samo jak w przypadku telegramu treść wiadomości i jej tytuł muszą być zapisane w cudzysłowie lub przy pomocy zmiennej typu string. W treści wiadomości możemy korzystać ze znaczników html.

SMS

Aby wysłać wiadomość SMS na dany numer telefonu należy użyć funkcji SendSMS(phone_number, message). W argumentach funkcji podajemy nr telefonu wraz z numerem kierunkowym kraju. Ważne jest by zapisać ten numer bez żadnych spacji. Przykładem poprawnie zapisanej funkcji w skryptach będzie:

 

Wysyłanie wiadomości w praktyce

Istnieje kilka metod wysyłania wiadomości, które można zaimplementować w WebHMI. Poniżej pokażemy kilka najważniejszych, które można wykorzystać w praktyce.

Należy pamiętać, żeby podczas pracy z wysyłaniem wiadomości należy wcześniej zalogować się do konta na witrynie Level2 w zakładce Ustawienia →  Level2 oraz podłączyć WebHMI do Internetu.

Za pomocą przycisku na panelu operatorskim

Aby możliwe było wysłanie wiadomości przy pomocy przycisku należy w pierwszej kolejności dodać zmienną zewnętrzną. W tym celu wchodzimy w zakładkę Ustawienia →  Zmienne i wybieramy Nowe połączenie.  Nadajemy nazwę połączenia, ustawiamy model urządzenia jako Internal WebHMI Registers oraz protokół WebHMI. Więcej o zmiennych wewnętrzych WebHMI tutaj.Teraz możemy dodać nową zmienną przy pomocy przycisku Nowa zmienna. Nadajemy jej nazwę, adres (D0) oraz typ danych (bit). Dodana zmienna reprezentuje się następująco:

Następnie przechodzimy do stworzenia pulpitu. Wybieramy Ustawienia →  Pulpity, a następnie Dodaj pulpit. Nadajemy nazwę, wybieramy szerokość, wysokość, rozmiar siatki oraz kolory pulpitu. Po wpisaniu wszystkich ustawień wciskamy przycisk Zapisz. Aby edytować stworzony pulpit należy wybrać przycisk Edytor wizualny.

Teraz zajmiemy się dodawaniem przycisku, dzięki któremu możliwe będzie wysłanie wiadomości: 

Następnym krokiem będzie napisane skryptu, który będzie miał za zadanie wysłać telegram na naszą aplikację. W tym celu wchodzimy w Ustawienia → Skrypty i klikamy Dodaj skrypt. W pierwszej kolejności nadajemy nazwę dla naszego skryptu oraz wybieramy jego typ jako „przy zmianie wartości zmiennej” i wybieramy naszą zmienną Przycisk.

Stworzony program prezentuje się następująco:

Teraz przechodzimy do naszego pulpitu klikając w głównym pasku menu jego nazwę.  Po kliknięciu w przycisk widoczny na stworzonym panelu powinien zostać wysłany telegram do naszej aplikacji w telefonie.

 

Przy pomocy ustawionego wydarzenia w kalendarzu

Kolejnym sposobem na wysyłanie wiadomości jest napisane skryptu kalendarza. W pierwszej kolejności należy napisać skrypty, które wykonają się przy rozpoczęciu i/lub przy zakończeniu wydarzenia. Wchodzimy w Ustawienia →  Skrypty i tworzymy skrypt kalendarza, który wykona się przy rozpoczęciu wydarzenia:

Następnie wybieramy Ustawienia →  Kalendarz i tworzymy wydarzenie według ustawień widocznych na zdjęciach:

Przekroczenie wartości zadanej

Ostatnim pokazaną metodą będzie wysyłanie wiadomości telegram wtedy, gdy poziom np. cieczy, przekroczy zadaną przez nas wartość. Taka funkcja jest użyteczna, gdy nie znajdujemy się przy stanowisku, a chcielibyśmy zostać natychmiast poinformowani o złych rzeczach dziejących się w procesie. Na prostym przykładzie pokażemy jak to zrobić.

Ponieważ nie mamy pod ręką żadnego zbiornika z pomiarem poziomu cieczy, dlatego też tą wartość będziemy symulować. Dodaliśmy więc zmienną wewnętrzną WebHMI o adresie D0 i typie float (32-bitowa liczba zmiennoprzecinkowa). Dodatkowo dodaliśmy zmienną M1 typu bit o adresie D0. Zmienna ta będzie wykorzystywana jako bit pomocniczy w skrypcie, aby zabezpieczyć się przed wielokrotnym wysyłaniem wiadomości w momencie przekroczenia wartości granicznej.

Dalej musimy zająć się pisaniem skryptu, który wyśle do nas wiadomość o przekroczeniu wartości zadanej. W związku z tym wchodzimy w Ustawienia → Skrypty i klikamy Dodaj skrypt. W naszym przypadku zostanie wysłana wiadomość po przekroczeniu wartości 54. Użytkownik zostanie również poinformowany o wartości.

Zostało nam tylko dodać na panelu suwak, który będzie imitować zmianę naszego poziomu cieczy:

Po zapisaniu pulpitu i przejściu do jego widoku będziemy mogli zmieniać wartość symulowanego poziomu cieczy, a gdy przekroczy ona wartość 54 powinniśmy dostać telegram. W telegramie przesyłana jest także wartość tej zmiennej.

Wróć na początek