Odesílání e-mailů
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.
Nastavení alarmového kanálu
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ě:
Odesílání emailů
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í).
Doporučení pro Gmail:
V případě Google účtu (je-li nastaveno dvoufázové ověřování) je postup pro vygenerování hesla následují:
- V Google Account nastavení
- Vyhledat Hesla Aplikací
- Vybrat aplikaci Pošta a zařízení “Jiné vlastní název”
- Vygenerovat heslo pro použití ve Vaší aplikaci: “xxxyyyyzzz”