Alberto_Evo Inserito: 29 maggio 2019 Segnala Share Inserito: 29 maggio 2019 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 Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 29 maggio 2019 Segnala Share Inserita: 29 maggio 2019 (modificato) 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. Modificato: 30 maggio 2019 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
Alberto_Evo Inserita: 30 maggio 2019 Autore Segnala Share Inserita: 30 maggio 2019 Sei stato molto chiaro, Ti ringrazio. Ora provo a scrivere la macro e a collegare i due devices. Grazie Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 30 maggio 2019 Segnala Share Inserita: 30 maggio 2019 (modificato) 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). Modificato: 30 maggio 2019 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 30 maggio 2019 Segnala Share Inserita: 30 maggio 2019 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 Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 30 maggio 2019 Segnala Share Inserita: 30 maggio 2019 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) Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 31 maggio 2019 Segnala Share Inserita: 31 maggio 2019 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. Link al commento Condividi su altri siti More sharing options...
Water Inserita: 2 giugno 2019 Segnala Share Inserita: 2 giugno 2019 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 Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 2 giugno 2019 Segnala Share Inserita: 2 giugno 2019 (modificato) 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. Modificato: 2 giugno 2019 da Giuseppe Signorella Link al commento Condividi su altri siti More sharing options...
Water Inserita: 3 giugno 2019 Segnala Share Inserita: 3 giugno 2019 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 Link al commento Condividi su altri siti More sharing options...
Lucky67 Inserita: 3 giugno 2019 Segnala Share Inserita: 3 giugno 2019 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 Link al commento Condividi su altri siti More sharing options...
Water Inserita: 4 giugno 2019 Segnala Share Inserita: 4 giugno 2019 ..anche se non sono il mittente di questo post .. grazie raga per gli spunti interessanti 👍 Link al commento Condividi su altri siti More sharing options...
Giuseppe Signorella Inserita: 4 giugno 2019 Segnala Share Inserita: 4 giugno 2019 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. Link al commento Condividi su altri siti More sharing options...
RDA Inserita: 4 giugno 2019 Segnala Share Inserita: 4 giugno 2019 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. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora