Una soluzione per l’invio di SMS multipli
Home › Forum › Programmazione IEC 61131 (LogicLab) › Una soluzione per l’invio di SMS multipli
Taggato: MultipleSMS
- Questo topic ha 7 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 3 anni, 4 mesi fa da
Sergio Bertana.
-
AutorePost
-
Ottobre 7, 2013 alle 6:26 am #35428
Anonimo
InattivoSono giorni che cerco di realizzare un blocco funzione che permetta l’invio di più messaggi a più destinatari. Quello che desidero ottenere è poter inviare messaggi diversi a più numeri di telefono. In pratica in un sistema di controllo desidero che su condizioni di allarme vengano allertati via SMS le persone preposte alla manutenzione.
Ho fatto diversi tentativi utilizzando la libreria eModemLib ma non riesco ad ottenere il funzionamento, avete dei suggerimenti ?
Ottobre 7, 2013 alle 6:33 am #37819Sergio Bertana
Amministratore del forumUtilizzando più istanze del blocco funzione ModemSMSSend_v2 è possibile inviare più messaggi SMS a più numeri così come indicato nel Manuale programmazione IEC61131-3. Naturalmente se i messaggi da inviare sono molti e se i numeri a cui mandarli sono molti il numero di istanze della FB necessarie all’invio crescono e quindi come giustamente suggerisci è preferibile costruire una FB apposita.
Ecco un progetto in cui la FB MultipleSMS permette di inviare fino a 32 messaggi a fino 32 numeri (Stampa e Download programma). I messaggi ed i numeri di telefono sono passati tramite l’indirizzo di un array di puntatori Messages e PhNumbers, in questo modo si ottimizza l’occupazione di memoria in quanto è possibile dimensionare l’array a piacere ed i messaggi come i numeri di telefono sono stringhe salvate in memoria codice.
Le variabili DWORD MsgSelector e PNrSelector, permettono di inviare solo i messaggi il cui relativo bit è attivo ai numeri di telefono il cui relativo bit è attivo. In questo modo prima di attivare il comando Send è possibile agendo su queste due variabile definire quali messaggi inviare ed a che numeri inviarli.
Attivando Send viene eseguito l’invio dei messaggi, terminato il quali si attiva Done, per effettuare un nuovo invio occorre disattivare Send e poi riattivarlo.
Ottobre 22, 2019 alle 12:31 pm #50279nettunio
PartecipanteBuonasera! sono nuovo per il forum è premetto che mi sono affacciato da poco al mondo dei PLC.
Dovendo utilizzare il blocco funzione ModemSMSSend_v2 in configurazione multi SMS mi sono imbattuto durante una ricerca sul forum in un suo programma dove è presente una FB MultipleSMS datata 2013. Dopo averlo caricato su Logiclab mi compare un errore di compilazione con i seguenti errori:
ModemPhoneCall_v1(102) – warning S1314: Valore duplicato nella definizione del CASE
ModemSMSSend_v2(153) – warning S1314: Valore duplicato nella definizione del CASEOttobre 22, 2019 alle 12:58 pm #50303Sergio Bertana
Amministratore del forumSi in effetti ho provato a compilare il vecchio progetto e vi erano i due errori che tu lamenti. Così essendo un vecchissimo progetto ho pensato di aggiornarlo utilizzando la nuova versione della libreria eLLabModemLib_F100.
Ho riscritto il programma principale in FBD, ma non ho provato il progetto, lascio a te il compito di testarlo ed eventualmente dirmi se hai problemi, ti lascio il progetto MultipleSMS_v1 per il download.
Ottobre 25, 2019 alle 6:10 am #50353nettunio
PartecipanteIntanto ti ringrazio per la tempestiva risposta, l’esempio editato da te funziona perfettamente. implementata nel mio programma ha composto i pochi numeri inseriti inviando i relativi messaggi assegnati.
La mia intenzione è quella di collegarne almeno 2 duplicando la FB pensi che possa funzionare ?
Ottobre 25, 2019 alle 6:20 am #50375Sergio Bertana
Amministratore del forumNon capisco il perchè della necessità di duplicare la FB , se ti servono più numeri o più messaggi basta aggiungerli alla FB.
L’FB può inviare fino a 32 messaggi diversi, basta definirli nell’array Message settando il relativo bit nella variabile MsgSelector.
MsgSelector:=16#00000007; (* Message selector *) Message[0]:=ADR('Messaggio 0'); Message[1]:=ADR('Messaggio 1'); Message[2]:=ADR('Messaggio 2');
Ogni messaggio può essere inviato fino a 32 numeri diversi, basta definirli nell’array PhoneNr settando il relativo bit nella variabile PNrSelector
PNrSelector:=16#00000003; (* Phone number selector *) PhoneNr[0]:=ADR('+39123456789'); PhoneNr[1]:=ADR('+39123456789');
Se hai esigenze diverse nel progetto c’è il codice sorgente della FB basta modificarla per adattarla alle tue esigenze.
Dicembre 7, 2021 alle 7:41 am #62468GABRIELEGALLI
PartecipanteQualche tempo fa ho utilizzato il modulo MultipleSMS perfettamente funzionante. Purtroppo oggi rispolverando un progetto non trovo più la libreria relativa allora chiamata eMultiSMS (composta da eLEN, VBit Test, il Function Block MultipleSMS e il programma STartUP).
E’ possibile farmelo avere?
Dicembre 7, 2021 alle 7:42 am #62471Sergio Bertana
Amministratore del forumBasta scaricare il programma MultipleSMS_v1 che trovi un paio di post prima di questo…
-
AutorePost
- Devi essere connesso per rispondere a questo topic.