Toto je starší verze dokumentu!
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 sifrovaně (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í: na
TRUEv 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ě nastavte
FALSE, více v článku Validace certifikátu
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 do prostoru fbd programu.
Tento funkční blok vyžaduje 6 vstupních proměnných, proto je pro pohodlnější ladění vhodné vytvořit pomocné proměnné. První je vstup channel. Jedná se o proměnnou typu string, který je datového typu string a jeho počáteční hodnotou je jméno dříve vytvořeného alarmového kanálu. Ve výchozím stavu je nazván jako alrchannel:
Stejný proces platí i u zbytku vstupních proměnných:
| Vstup | Typ | Význam |
|---|---|---|
| CHANNEL | STRING | název komunikačního spojení (definuje se v možnostech PLC; viz výše) |
| FROM | STRING | emailová adresa odesilatele |
| 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 (klávesa 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 Domat Control System |
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. Další email se pošle v případě, že alarm odezněl, byl resetován a následně znovu nastal. Alarm je aktivní, když hodnota proměnné teplota překročí hodnotou proměnné 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“







