Odesílání e-mailů

Patron Neuron Gate Unipi 1.1 Axon

Mervis, společně s jednotkami Unipi, podporuje odesílání emailů. Tento návod popisuje, jak nastavit PLC a realizovat odesílání emailů diagramem funčních bloků. Zasílání emailů je možné jak nešifrovaně (non-SSL), tak šifrovaně (SSL).


V následujícím návodu je vysvětleno pouze odesílání emailů blokem sendmailtrig, realizované ve FBD. V jazyce ST doporučujeme použít blok sendmail, jehož použití je popsáno v nápovědě Mervis IDE.

Funkcí bloku sendmailtrig je odeslat email na předem definovanou adresu při detekci náběžné hrany na vstupu send.

Upozornění:
Při tvorbě programu je nutné zajistit, aby v jeden moment docházelo k odeslání pouze jednoho emailu a před odesláním dalšího emailu byla dodržena pauza alespoň jednu vteřinu.

Pro správnou funkci odesílání emailů je nutné nejdříve nastavit alarmový kanál. Dvojitě klikněte na PLC v levém panelu, vyberte záložku Definice hlášení, klikněte pravým tlačítkem myši do prostoru hlavního okna (seznam alarmových kanálů) a v kontextovém menu vyberte možnost Přidat alarmový kanál:


Objeví se nový alarmový kanál. Ve výchozím stavu je nastaven pro odesílání emailových zpráv. Nyní je možné definovat název, který se následně použije na vstupu bloku sendmailtrig, nebo ponechat výchozí název alrchannel.

Dále se definuje typ spojení SMTP. Po kliknutí na kanál v hlavním okně se v pravém sloupci zobrazí tabulka vlastností zvoleného kanálu:

  • Server: ze které bude email odesílán
  • Port: na kterém bude RT komunikovat (dle emailového serveru)
  • Používat přihlašování: TRUE v případě nutnosti přihlašování
  • Jméno uživatele: v případě přihlašování, standardně emailová adresa
  • Heslo: v případě přihlašování, heslo pro použitý email
  • Povolit SSL: pro zabezpečenou komunikaci
  • Validace certfikátu: standardně FALSE, více v článku Validace certifikátu SSL

Všechny změny je nutné potvrdit kliknutím na OK v červené liště:

Funkční blok sendmailtrig lze nalézt v levém panelu v záložce FUPLA bloky, nebo v kontextovém menu Přidat blok knihovny po stisknutí pravého tlačítka myši v hlavním okně (prostoru fbd programu).


Tento funkční blok má 6 vstupů. Pro pohodlnější ladění je vhodné vytvořit pomocné proměnné, které se na tyto vstupy připojí. První je vstup channel, který je datového typu string. Při definování proměnné je možné zvolit název shodný s názvem vstupu, ale je třeba třeba zvolit shodný datový typ, tedy string. Počáteční hodnotou je název alarmového kanálu, kde výchozí hodnotou je řetězec alrchannel:


Stejný postup platí i pro ostatní vstupní proměnné:

Vstup Typ Význam
CHANNEL STRING název alarmového kanálu (definuje se v možnostech PLC; viz výše)
FROM STRING emailová adresa odesílatele
RECIPIENT STRING emailová adresa příjemce
SUBJECT STRING předmět emailu
MESSAGE STRING zpráva emailu
SEND BOOL povel pro odeslání emailu

Výsledek by měl vypadat přibližně takto:


Pokud je odeslání emailu úspěšné, výstup Result bude mít hodnotu 0.

Výstup Typ Význam
RESULT SINT číselný status; výsledek operace (odeslání emailu)

Jiná hodnota než nula znamená chybový kód; v takovém lze určit příčinu problému (chybu) pomocí následující tabulky, nebo nápovědy funkčního bloku (po označení bloku a stisknutí klávesy F1).

Číselný status Význam
0 OK
8 Plná emailová fronta
16 Neznámý kanál
24 Chyba - hodnota číselného statusu nelze určit
jiné Interní chyba - kontaktujte technickou podporu

Příklad použití

Typicky lze tuto funkci využít pro hlášení alarmových stavů. Odeslání emailu je spuštěno nastalým alarmovým stavem, v tomto příkladu překročením proměnné teplota přes hodnotou proměnné mez_teploty (s hysterezí). Další email (s jiným obsahem zprávy) je odeslán po snížení hodnoty proměnné teplota pod hodnotu mez_teploty (s hysterezí).

V případě Google účtu (je-li nastaveno dvoufázové ověřování) je postup pro vygenerování hesla následují:

  1. V Google Account nastavení
  2. Vyhledat Hesla Aplikací
  3. Vybrat aplikaci Pošta a zařízení “Jiné vlastní název
  4. Vygenerovat heslo pro použití ve Vaší aplikaci: “xxxyyyyzzz”