Odesílání SMS - ST
SENDSMS
PROGRAM TEST_SENDSMS
VAR
TESTSMS:BOOL:=TRUE;
CHANNEL : STRING[64] := 'ALRCHANNEL';
RECIPIENT : STRING[64] := '00420123456789';
MESSAGE : STRING[64];
END_VAR
IF TESTSMS THEN
MESSAGE := 'TESTOVACI SMS BYLA POSLANA.';
MESSAGING.SENDSMS(CHANNEL,RECIPIENT,MESSAGE);
TESTSMS := FALSE;
END_IF;
END_PROGRAM
MESSAGING
V1.0
Volaná funkce posílá v každém výpočetním cyklu PLC jednu SMS zprávu. Z důvodu bezpečnosti doporučujeme její použití pouze v ST kódu. Při psaní programu je třeba dbát zvýšené opatrnosti, aby nedošlo k nechtěnému zahlcení adresáta SMS zprávami. 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.
Vstup | Typ | Význam |
---|---|---|
CHANNEL | STRING_REF | reference na proměnnou s názvem komunikačního spojení (definuje se v možnostech PLC; viz níže) |
RECIPIENT | STRING_REF | reference na proměnnou s telefonním číslem příjemce |
MESSAGE | STRING_REF | reference na proměnnou se samotnou SMS zprávu (základní ASCII znaky) |
Výstup | Typ | Význam |
---|---|---|
=> | SINT | číselný status; výsledek kontroly nastavení systému |
Při každém volání funkce sendsms v programu je poslána jedna SMS 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 a vyberte záložku Definice hlášení a pravým kliknutím zobrazíte nabídku, ve které vyberete Přidat alarmový kanál.
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. V případě zabezpečené SIM karty je třeba zadat PIN kód. Nakonec potvrdíte všechny změny kliknutím na OK v červeně označeném dialogu.
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 následně doplní do tabulky. Zmáčkněte tlačítko Zavřít a potvrďte změny klinutí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.)
Výstupní proměnná result hlásí výsledek kontroly nastavení systému.
Číselný status | Význam |
---|---|
0 | OK |
16 | Neznámý kanál |
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 (default 2 s) |
42 | Chyba GSM kanálu (např. špatný PIN, nedostupnost sítě, …) |
jiné | Interní chyba - kontaktujte technickou podporu Domat Control System |
Typicky lze tato funkce využít pro hlášení alarmových stavů. Odeslání SMS je spuštěno nastalým alarmovým stavem. Příklad viz výše Volání v ST.