====== Odesílání SMS - FUPLA ====== {{:cs:mervis-ide:35-help:sendsmstrig.png}} ===== Název bloku ===== SENDSMSTRIG ===== Volání v ST ===== Pro tento účel je vhodnější využít blok [[cs:mervis-ide:35-help:035-software_basic:060-libraries:035-communications:015-sms:010-sendsms|sendsms]]. ===== Knihovna ===== MESSAGING ===== Verze ===== V1.0 ===== Popis ===== Blok posílá pro jeden povel (přechod z false do true) jednu SMS zprávu. Pokud je potřeba odesílat zprávy na více čísel, je potřeba použít blok vícekrát, nebo si před něj vytvořit přepínač čísel. Je ale potřeba dodržet pravidlo, kdy v jeden moment dochází k odeslání pouze jedné zprávy. Většina GSM brán má jistý paměťový limit, například limit 4 zpráv. Pokud tedy na bránu pošleme více než 4 zprávy naráz, zbylé zprávy budou z fronty zahozeny. Doporučujeme tedy zprávy odesílat postupně s rozestupy například 10 s. ===== Vstupy ===== |Vstup |Typ |Význam | |CHANNEL |STRING|název komunikačního spojení (definuje se v možnostech PLC; viz níže)| |RECIPIENT|STRING|telefonní číslo příjemce | |MESSAGE |STRING|samotná SMS zpráva (základní ASCII znaky) | |SEND |BOOL |povel pro odeslání SMS zprávy | ===== Výstupy ===== |Výstup|Typ |Význam | |RESULT|SINT|číselný status; výsledek kontroly nastavení systému| ===== Funkce ===== Při každém přechodu proměnné //send// z //false// do //true// je poslána jedna SMS zpráva z definovaného GSM modemu na telefonní číslo příjemce //recipient//. Obsah SMS zprávy je vkládán do proměnné //message//. Proměnná //channel// odkazuje na definované komunikační spojení. To je třeba vytvořit v možnostech PLC: Dvojklikem na PLC zobrazte jeho nabídku, vyberte záložku //Definice hlášení// a pravým kliknutím zobrazíte nabídku, ve které vyberete //Přidat alarmový kanál//. {{:cs:mervis-ide:35-help:sendmail_1.png}} Nyní definujete název, který je vstupem proměnné //channel//. Dále definujete typ spojení //GSM//. Kliknutím vyberete kanál a v jeho vlastnostech nastavíte port, na kterém bude RT komunikovat s modemem. Dále se definují komunikační vlastnosti kanálu. Při použítí mark220 rev. 2.0 nebo mark320 rev. 2.0 nastavte softwarové řízení toku dat - RTS/CTS. V případě zabezpečené SIM karty je třeba zadat PIN kód. Nakonec potvrdíte všechny změny klinutím na OK v červeně označeném dialogu. {{:cs:mervis-ide:35-help:sendsms_1.png}} V případě použití některého ze standardně dodávaných modemů (Siemens TC-35, Wavecom), je možné vybrat v //Nastavení AT příkazů// předdefinované příkazy pro nastavení modemu. Následně klikněte na tlačítko //Použít//. Potřebné AT příkazy se pak doplní do tabulky. Zmáčkněte tlačítko //Zavřít// a potvrďte změny kliknutím na OK v červeně označeném dialogu. V případě jiného typu modemu je třeba nastavit modem jeho příslušnými AT příkazy. (Při problému s nastavením jiného typu modemu kontaktujte technickou podporu Domat Control System.) {{:cs:mervis-ide:35-help:sendsms_2.png}} Výstupní proměnná result hlásí výsledek kontroly nastavení systému. |Číselný status|Význam | |0 |OK | |1 |Neznámá proměnná | |2 |Neúspěšný zápis | |3 |Nesoulad velikostí | |4 |Nespecifikovaná chyba | |5 |Odepřený zápis | |6 |Neplatný stav | |7 |Nepodařilo se načíst obraz | |8 |Plná e-mailová schránka | |9 |Příliš dlouhá adresa doručovatele | |10 |Příliš dlouhá adresa odesílatele | |11 |Příliš dlouhý předmět | |12 |Příliš dlouhá zpráva | |13 |Příliš dlouhý název serveru | |14 |Jméno uživatele v definici hlášení je příliš dlouhé | |15 |Heslo v definici hlášení je příliš dlouhé | |16 |Neznámý kanál | |17 |Neznámé zdrojové kódování | |18 |Neznámé cílové kódování | |19 |Neúspěšná konverze | |20 |Neplatný zdroj konverze | |21 |Zahlcený zdroj konverze | |22 |Zahlcená cesta pro konverzi | |23 |Připojeno | |24 |Chyba - hodnota číselného statusu nelze určit | |25 |Nemožnost otevřít port nebo inicializovat GSM modem (např. chybně zadané číslo portu)| |26 |Timeout při provádění AT příkazu (výchozí 2 s) | |27 |Neznámý AT příkaz | |28 |Neplatný obraz | |29 |Neplatný nejméně významný bit | |30 |Obraz byl označený jako neplatný | |31 |Prázdný | |32 |Překrytí | |33 |Obnovení procesu | |34 |Zaneprázdněný | |35 |Port je používán | |36 |Chyba v GUID | |37 |Neplatný cyklický redundantní součet | |38 |Neplatný typ zásobníku | |39 |Neplatná úloha | |40 |Mimo definovaný dosah | |41 |Chyba GSM modemu | |42 |Chyba GSM kanálu (např. špatný PIN, nedostupnost sítě, …) | |43 |Čekání na PIN kód | |44 |Čekání na PUK kód | |45 |Špatně zadaný PIN kód | |46 |Služba - GSM Prompt | |47 |Plná schránka GSM modemu (viz. Ošetření plné schránky) | |48 |Zkrácený | |49 |Neznámé zařízení | |50 |Nevyvážená závorka | |51 |Neplatná třída | |52 |Žádná volná paměť | |53 |Soubor nenalezen | |54 |Plný běh | |55 |Zastavený stav | |56 |Neznámá metadata | |57 |Chyba sběrnice | |58 |NVRAM není k dispozici | |59 |Chyba konfigurace | |60 |Neplatný nastavený port | |61 |Žádné zařízení | ===== Použití komunikačního portu X3 na PLC řady Wall ===== Pro komunikaci s GSM modemem GSM-BGS-T2M nebo GSM-BGS-E2N přes port X3 v režimu RS-232 je nutné použít sériový kabel D-SUB 09 samec-samec se zapojením 2-3, 3-2, 5-5 (křížený). Signály pro řízení toku doporučujeme v nastavení v PLC i na modemu (AT\Q0) vypnout. ===== Chybový stav 47 - Plná schránka GSM modemu ===== Plná schránka na GSM modemu vznikne více požadavky na odeslání alarmové SMS zprávy v krátkém časovém intervalu. Plná schránka GSM modemu se vyprázdní až po provedení náběžné hrany na proměnnou //send// funkčního bloku "sendsmstrig". Na snímku je uvedené možné řešení v případě zahlcení schránky. Před logickým OR je použitý pulsní encoder, který po definovaném čase na vstupní proměnné //PT// vrátí na výstupní proměnné //Q// "False". V případě, že funkční blok sendsmstrig na výstupní proměnné //Result// vrací chybový stav 47, porovnávací funkce "EQ" vyhodnotí na výstupu "True" a tím dojde k povolení procesu pulzního generátoru, na kterém je nutné nastavit dostatečně dlouhý interval pro trvání výstupního signálu v hodnotě "False" //TFALSE// a pouze vteřinový interval v hodnotě "True" //TTRUE//. Tímto dojde k opakování cyklu pro odeslání alarmové SMS. {{:cs:mervis-ide:35-help:sms_error47.png}} ===== Příklad použití ===== Typicky lze tato funkce využít pro hlášení alarmových stavů. Odeslání SMS je spuštěno nastalým alarmovým stavem. Další SMS 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é //teplotni_limit//. {{:cs:mervis-ide:35-help:sendsmstrig_example.png}}