Jump to content
PLC Forum


Alberto_Evo

Trasmissione ora da cMT3090 weintek a Tm221 schneider

Recommended Posts

Alberto_Evo

Buon giorno a tutti,

Mi volevo cimentare con questo passaggio visto che sto programmando una POU per la produttività della macchina e ho necessità di allineare le date e gli orari 

del PLC con quelli dell'HMI.

Qualcuno ci è già passato?

So che da %Sw49 a %Sw53 si delimita l'area dai secondi all'anno per il PLC 

e invece da LW9017 a LW93 per l'HMI

Share this post


Link to post
Share on other sites

Giuseppe Signorella

Non conosco il pannello operatore da te citato, ma credo che non vi sia molta differenza tra le altre marche.

Il concetto è semplice, leggi le variabili dell'RTC del pannello operatore, (Probabilmente dovrai appoggiare la lettura su un'area di memoria che il PLC sia in grado di leggere) lo puoi eventualmente fare con uno script.  

Fai un confronto ogni X tempo  con quelle dell'RTC del  PLC. Se trovi differenze sovrascrivi quelle del PLC. (solo quelle che differiscono).

Un esempio generico:

 

//Dichiaro le variabili

Dim RTC_Ora_HMI as integer
Dim RTC_Minute_HMI as integer
Dim RTC_Secondi_HMI as integer

Dim RTC_Ora_PLC as integer
Dim RTC_Minute_PLC as integer
Dim RTC_Secondi_PLC as integer

RTC_Ora_HMI = LW9017 //Area di memoria del pannello operatore per la lettura dell'ora (In genere 1 Byte)
RTC_Minute_HMI LW9018 //Area di memoria del pannello operatore per la lettura dei minuti (In genere 1 Byte)
RTC_Secondi_HMI LW9019 //Area di memoria del pannello operatore per la lettura dei secondi (In genere 1 Byte)

RTC_Ora_PLC = 2#2:%Sw49 //Area di memoria del PLC per la scrittura dell'ora (In genere 1 Byte)
RTC_Minute_PLC 2#2:%Sw50 //Area di memoria del PLC per la scrittura dei minuti (In genere 1 Byte)
RTC_Secondi_PLC 2#2:%Sw51 //Area di memoria del PLC per la scrittura dei secondi (In genere 1 Byte)

If RTC_Ora_PLC <> RTC_Ora_HMI Then
RTC_Ora_PLC=RTC_Ora_HMI
End IF

If RTC_Minute_PLC <> RTC_Minute_HMI Then
RTC_Minute_PLC=RTC_Minute_HMI
End IF

If RTC_Secondi_PLC <> RTC_Secondi_HMI Then
RTC_Secondi_PLC=RTC_Secondi_HMI
End IF

Nell'esempio di sopra (basato su un tipo di pannello operatore che utilizzo) , ho dato per scontato che nel PLC l'area di scrittura e lettura dell'RTC sia la medesima.

2#2:%Sw49 stà per: porta di comunicazione n° 2# del pannello operatore, 2: Device n° 2 (ho ipotizzato 2 PLC) e %SW49 è la word del PLC su cui scrivere l'ora.

 

 

Edited by Giuseppe Signorella

Share this post


Link to post
Share on other sites
Alberto_Evo

Sei stato molto chiaro, Ti ringrazio.

Ora provo a scrivere la macro e a collegare i due devices.

Grazie 

Share this post


Link to post
Share on other sites
Giuseppe Signorella

 

Attenzione, l'esempio di sopra non è completo, mi sono limitato a fare il solo confronto tra l'RTC del pannello ed quello del PLC.

Ora sta a te completarlo.

(Scrivere nel PLC i nuovi valori).

 

Edited by Giuseppe Signorella

Share this post


Link to post
Share on other sites
leleviola

Non è detto che l'area di memoria del RTC del PLC sia sempre in possibilità di essere sovrascritta, in genere è normalmente in lettura se vuoi sovrascriverla in genere c'è da abilitare la sovrascrittura del RTC tramite un comando da dare al PLC per abilitarne la modifica

Share this post


Link to post
Share on other sites
Lucky67

Perdonami ma non capisco perchè tutto questo lavorio...secondo me decidi quale dei due orari utilizzare (plc o hmi visto che sono entrambi RTC) e poi passi quello "master" a quello slave utilizzando il trasferimento ciclico di aree di memoria (da plc a hmi o viceversa)

Share this post


Link to post
Share on other sites
Giuseppe Signorella

In realtà la soluzione più semplice se collegati in una rete con accesso ad internet sarebbe quello di utilizzare il protocollo/sistema NTP e puntare tutti allo stesso server NTP.

Come detto non conosco il pannello operatore citato, alcuni pannelli funzionano anche come NTP server. Quindi nessuna programmazione, ma basta una semplice parametrizzazione dei dispositivi.

Share this post


Link to post
Share on other sites
Water

concordo con Lucky67 perchè faccio la stessa cosa (SoMachine),

nel mio caso gestisco l'RTC del PLC e poi appoggio tutto a delle variabile lette dall'HMI,

 

in che posizione temporale sia l'RTC dell'HMI non mi interessa visto che visualizzo sempre l'RTC del PLC,

rimane comunque interessante la finezza proposta da Signorella,

ciao

Share this post


Link to post
Share on other sites
Giuseppe Signorella

Personalmente preferisco sempre sincronizzare i due RTC per un fattore di praticità. Molti eventi, come la gestione degli allarmi, Data ed ora di accesso al sistema da parte di un utente, il pannello li gestisce con il proprio RTC. Quindi come immaginabile, se l'ora del pannello non è corretta, si hanno allarmi (ed altro) scadenzati in modo errato.

Edited by Giuseppe Signorella

Share this post


Link to post
Share on other sites
Water

Signorella ... riguardo gli allarmi gestiti da HMI hai perfettamente ragione!!

il pannello prende sempre il suo RTC per visualizzare gli allarmi ...

 

in SoMachime/Vijeo esiste uno script per sincronizzare ma non l'ho mai usato,

li gestisco in altro modo non avendo bisogno di storicizzare ma ricordo di aver avuto quel problema,

ciao e grazie

Share this post


Link to post
Share on other sites
Lucky67
4 ore fa, Water scrisse:

il pannello prende sempre il suo RTC per visualizzare gli allarmi ... 

 

Infatti personalmente prendo a riferimento lo RTC del pannello e stabilisco che esso sia master in modo che tutto faccia riferimento a quell'orario

Share this post


Link to post
Share on other sites
Water

..anche se non sono il mittente di questo post .. grazie raga per gli spunti interessanti 👍

 

Share this post


Link to post
Share on other sites
Giuseppe Signorella
Quote

Infatti personalmente prendo a riferimento lo RTC del pannello e stabilisco che esso sia master in modo che tutto faccia riferimento a quell'orario

Resto dell'opinione che i due RTC vadano sincronizzati. Per gli allarmi ed altri eventi inerente il pannello operatore si fa riferimento all'RTC del pannello, per programmatori orari ed altre funzioni del programma interno del PLC, si fa riferimento all'RTC del PLC.

Una volta sincronizzato i due RTC  poco importa se sia l'RTC del PLC o del pannello operatore ad essere quello (Master). 

4 Righe di programma semplificano la vita. Le scrivi una sola volta,  e poi le ricopi ogni volta che serve.

Ad essere sincero, sono più che sicuro che possa farsi anche senza script.

 

Share this post


Link to post
Share on other sites
RDA

Certo che si puo' fare senza script, Weintek ha la funzione trasferisci blocco dati, all'interno metti i valori dell'RTC HMI, e li depositi nelle aree dati del plc, Se la formattazione va bene tutto risolto, diversamente con SHL o SRL sx e sx li formatti e li trasferisci nelle aree dati del plc alzando il bit specifico di aggiornamento.

 

Saluti.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...