Vai al contenuto
PLC Forum


Comandare Zelio Via Sms - quale è la giusta sintassi che deve avere l'sms?


Marcello da Nettuno

Messaggi consigliati

Marcello da Nettuno

Salve,

stò realizzando un applicazione con zelio + sr2com02+modem gsm, dove ho la necessità di accendere un comando sia in locale che da remoto via sms.

Nell'FBD ho collegato l'ingresso digitale I1 (dove ho collegato fisicamente il pulsante di accensione locale) in parallelo all'ingresso del valore digitale del modulo "messaggio"; al parametro "modifica variabile autorizzata" ho messo "modifica".

il modem GSM funziona bene perchè l'allarme via sms che ho impostato in un altro punto del programma arriva regolarmente sul mio cellulare.

Si tratta sicuramente di un problema di sintassi nello scrivere l'sms o di mancanza di qualcosa nell'FBD.

alla variabile associata all'ingresso I1 nel modulo "messaggio" ho associato l'alias "accendi"; quindi invio l'sms con scritto "accendi=1" ma niente da fare, non funziona....

Qualcuno ha già avuto esperienza con i comandi via sms di zelio?

grazie!

Link al commento
Condividi su altri siti


Anche io ho lo stesso problema.Però posso dirti che con gli SMS puoi pilotare a 1 soltanto variabili digitali tipo M1-M2 ecc.

Quindi se vuoi eccitare una uscita, essa deve essere collegata ad un marker che a sua volta può essere messo a 1 dall'sms.In un comando marcia arresto devi avere un marker con autoritenuta per la marcia (M1) ed un altro marker per l'arresto (m2) NC in serie.In effetti, non riesco neanche io ad abilitare questi marker.Ho provato in tutte le salse:M1=1

oppure: !M1=1 oppure mettendo la psw che mi propone il sw quando trasferisco il prg sullo zelio (00000000):

00000000!M1=0

Niente, non funzia.

Chi conosce la soluzione?

grazie in anticipo.

Link al commento
Condividi su altri siti

Tempo fa realizzai un'applicazione in ladder con la gestione degli SMS, ma non trovai alcuna difficoltà nel far funzionare il tutto. Ora è un pò difficile dirvi senza aver visto il vostro soft dove sia l'errore. Vi consiglio di verificare con attenzione che siano stati configurati correttamente tutti i parametri che lo zelio richiede.

Tra cui anche il numero di telefono che è autorizzato alla modifica delle variabili.

Normalmente quando inviate un sms allo zelio, esso vi risponde con altro sms che vi informa se l'operazione è andata a buon fine in caso contrario vi invia un sms di errore.

La sintassi del comando è la seguente:

password (sempre richiesta di 8 cifre, se ne utilizzate di meno, dovete lasciare dei spazzi vuoti) ! (separatore sempre richiesto che è il punto esclamativo) (variabile) (valore della variabile)

es.

12345678!pozzo=1

lo zelio vi invierà un sms di risposta che vi informa di aver portato ad 1 la variabile, e se ricordo bene, dovrebbe inviarne un altro quando la variabile ritorna a 0. Ma di questo non ne sono sicuro, e se non erro, possono essere portati ad 1 per un solo ciclo, un po come un fronte di salita, anche gli ingressi dello zelio )es. I2).

Provate a dare qualche informazione in più, ad esempio ricevete l' SMS di risposta dallo zelio?

ciao

Link al commento
Condividi su altri siti

Marcello da Nettuno

no, non ricevo alcun messaggio di risposta.

All'inizio avevo dimenticato di impostare su "modifica" l'autorizzazione associata al mio numero di cellulare (avevo lasciato la casella su "lettura"), ho inviato l'sms con scritto:

12345678!ON=1

e ho ricevuto in risposta:

12345678!err*ON

Allora ho configurato il mio account su "modifica" e da allora non ho ricevuto più nessuna risposta; ma nemmeno mi funziona il comando.

post-118883-0-01165500-1401233235_thumb.

Link al commento
Condividi su altri siti

Salve a tutti,purtroppo ho il vostro stesso problema...

Sono riuscito a configurare l'invio di un messaggio di allarme dal PLC verso il mio cellulare utilizzando lo schema ladder.

Per quanto riguarda l'invio dei comandi al PLC niente da fare.

Usando la sintassi : password!alias=1

La risposta è : password!err*alias=1

Ho controllato infinite volte tutte le abilitazioni di lettura e modifica,modifica variabili,destinatari abilitati ai comandi ma niente!

Ti prego "baltimora" aiutaci....

Link al commento
Condividi su altri siti

Allora, premesso che abbiate impostato correttamente i destinatari abilitati al comando (dando loro l'autorizzazione alla "modifica" e non semplicemente alla "lettura" delle variabili) è altrettanto importante che definiate la tipologia del blocco "Messaggio" (nella scheda "Tipo") non come semplice blocco di "Allarme" ma, quantomeno, come blocco di "Modifica di variabili".

Configurato in tal modo, ciascun blocco Messaggio può far variare lo stato delle 2 variabili (una DIGITALE e l'altra NUMERICA) collegate ai suoi ingressi "Val1" e "Val2".

Nell'esempio raffigurato di seguito all'ingresso DIGITALE dei 3 blocchi Messaggio utilizzati sono state collegate le uscite di 3 blocchi digitali (un SetReset, un Bistabile, ed un ON/OFF standard) il cui valore può essere variato tramite SMS (oltre che da programma):

programma1k.jpg

Ad esempio: l'uscita del blocco SetReset, il cui alias è stato rinominato in OUT-SetReset, oltre a variare in funzione degli ingressi locali (START e STOP) varierà anche in seguito alla ricezione dei seguenti comandi:

00000000!OUT-SetReset=1 (uscita ad ON, se non lo era già)

00000000!OUT-SetReset=0 (uscita ad OFF, se non lo era già)

00000000!OUT-SetReset? (lo Zelio risponderà indicando lo stato attuale dell'uscita)

Nel seguente esempio c'è invece un errore: il blocco Messaggio non può far variare lo stato di un ingresso fisico (locale), nemmeno per un solo ciclo di scansione. Supponendo che all'interno del blocco Messaggio sia stato assegnato a tale ingresso l'alias "START", il comando

00000000!START=1

non produrrebbe alcuna variazione dello stato del blocco SetReset.

programma2.jpg

Un'esempio valido, a tal senso, è invece il seguente, in quanto replica i comandi di START e STOP locali ponendovi in parallelo l'uscita di un semplice blocco ON/OFF. Come si vede dall'ammagine, se l'alias per la variabile fosse "MOTOR" il comando

00000000!MOTOR=1 accenderebbe il motore

ed il comando

00000000!MOTOR=0 lo spegnerebbe

programma3.jpg

Spero di non aver confuso ulteriormente le idee..

..qualora ci fossero ulteriori dubbi chiedete pure!

N.B.:

1. la variazione dello stato di una variabile tramite SMS è permanente, e resta quindi valida fino al comando successivo o ad eventuali modifiche nate dalla normale esecuzione del programma (dovute ad esempio alla variazione dello stato degli ingressi fisici locali)

2. le prime 8 cifre di ciascun comando devono corrispondere al codice di sicurezza impostato nella stazione remota (8 zeri di default)

Ciao a tutti,

Ranni

Link al commento
Condividi su altri siti

Che dire Ranni,sei di sicuro molto preparato su questo argomento...

Credo di aver controllato bene i parametri che hai descritto e sono tutti giusti!A questo sono convinto di aver sbagliato qualcosa nella programmazione.

Siccome io uso la programmazione ladder faccio un pò fatica a capire il tuo schema.Riusciresti a trasportarlo da FDB a LADDER?

Grazie in anticipo...

Link al commento
Condividi su altri siti

Marcello da Nettuno

Grazie, sei stato molto chiaro ed esauriente; adesso ho capito perchè non mi funziona. Non vedo l'ora di rimettere al posto il programma per vedere come và. Vi farò sapere.

Link al commento
Condividi su altri siti

Ciao francobarde, tradurre quegli schemi in Ladder non è così semplice, anche perchè in LD i blocchi MESSAGGIO funzionano diversamente.

Proverò comunque a fornirti un esempio banale che possa illustrarti come effettuare un semplice comando da remoto, in parallelo ad uno locale.

Il programma realizzato è il seguente:

testld1.jpg

In LD si dispone di 28 blocchi MESSAGGIO, e nella prima riga ho trascinato il blocco n°1 abilitandolo "sempre" (per via del collegamento diretto alla linea di alimentazione) alla ricezione di comandi e/o interrogazioni.

Per tale blocco ho infatti configurato la sola funzionalità di "Modifica di variabili" e definito un'unica memoria digitale (M1) come leggibile e modificabile (l'alias scelto per la variabile è CMD-REMOTO):

testld2.jpg

A differenza del linguaggio FBD, in LD la modifica di una memoria tramite SMS è solo temporanea (valida per un solo ciclo di scansione).

Vale a dire che il comando

00000000!CMD-REMOTO=1

chiuderà il contatto M1 solo per un ciclo, ma ciò sarà sufficiente a far commutare lo stato della bobina bistabile Q1.

In seguito a tale comando però, la risposta dello Zelio sarà la seguente:

Modem GSM (*)

09/08/31 16:10 (**)

CMD-REMOTO=0

(*) nome assegnato alla stazione remota

(**) data e ora alle quali è stato eseguito il comando (o comunque confezionata la risposta)

..il chè ci farà pensare alla mancata esecuzione del comando, che in realtà è stato eseguito. Perchè allora lo Zelio restituisce il valore 0 per la variabile che abbiamo appena scritto ad 1??

In ordine ceonologico, ciò che avviene è questo:

1. Invio SMS di comando "00000000!ALIAS-MEMORIA=1" allo Zelio

2. Ricezione comando da parte dello Zelio

3. SET della memoria ALIAS-MEMORIA (per un ciclo di scansione)

4. RESET della moria ALIAS-MEMORIA

5. Notifica al mittente della corretta esecuzione del comando (con allegato il valore corrente della memoria modificata, che è già tornato a 0)

[ nel frattempo, naturalmente, la bobina bistabile comandata in remoto da M1 (e localmente, in parallelo, da I1) ha cambiato il suo stato ]

Se conseguentemente al comando impartito ci interessasse invece conoscere il reale stato della BOBINA Q1 (settata o resettata dalla memoria M1) è necessario apportare qualche modifica al precedente programma..

..le modifiche da apportare le illustrerò prossimamente.

Per adesso vi saluto!

Ciao a tutti,

Ranni

Modificato: da Ranni
Link al commento
Condividi su altri siti

Quello di seguito è, come preannunciato, lo stesso esempio di prima con l'aggiunta di 2 blocchi MESSAGGIO:

il primo (TSA) per la notifica dell'attivazione dell'uscita Q1

il secondo (TSB) per la notifica della disattivazione dell'uscita Q1

Per il momento fate riferimento al secondo schema, anche se in caso di comando da remoto quello cui far riferimento è il primo (vi spiego più avanti il perchè):

progd.jpg

Chiaramente è fondamentale impostare la tipologia di entrambi i blocchi in "Allarme" e definire i messaggi di testo per ciascuna notifica:

allarmi.jpg

Al passaggio di Q1 da 0 a 1 verrà attivato il primo allarme (blocco messaggio TSA), al passaggio di Q1 da 1 a 0 (che equivale al passaggio di q1 da 0 a 1) il secondo allarme (blocco messaggio TSB).

In serie al contatto di stato di Q1 e q1 (Q1 NC) è stato però inserito il contatto di 2 TIMER TON (rit 2sec all'eccitazione) che ritardano l'invio di entrambe le notifiche:

tonh.jpg

Lo si è fatto perchè, in seguito al comando da remoto di Q1 (agendo sull'alias relativo ad M1), lo Zelio prende in carico il comando ed invia la conferma di avvenuta esecuzione (come già visto precedentemente) ma non invia contemporaneamente alcuna notifica sull'attuale stato di Q1 (probabilmente per la contemporaneità dei 2 eventi e/o per il fatto che si è lasciato impostato ad 1 il numero di tentativi di invio al destinatario..).

Il programma in basso (quello con le sezioni legate ai TON in leggera trasparenza), almeno in caso di comando remoto, non da quindi i risultati sperati.. ecco perchè ne è stata proposta la versione che fa uso delle 2 segnalazioni ritardate tramite i TIMER.

francobarde ti è tutto un pò più chiaro in questo modo?

Mi auguro proprio di sì!! :huh:

saluti, Ranni

Link al commento
Condividi su altri siti

Ti faccio anch'io i complimenti Ranni per la tua spiegazione ma sono spiacente di comunicarti che la risposta dello Zelio è la medesima.

Per evitare qualsisai disguido ho cancellato il mio programma ed ho copiato il tuo tale e quale,anche con le stesse descrizioni.

Mi starai dando dell'impedito ma io proprio non so più cosa fare.

Link al commento
Condividi su altri siti

Ciao Ranni,finalmente è tutto ok....

Il problema era il prefisso italiano.Io avevo inserito "0039" nei destinatari e invece dovevo mettere,come da te consigliato,"+39".

Grazie di tutto,mi sei stato di grande aiuto.

Link al commento
Condividi su altri siti

  • 2 weeks later...
  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...