Visualizzazione ore di funzionamento ed allarmi su HMI
Home › Forum › Discussioni su problematiche generali › Visualizzazione ore di funzionamento ed allarmi su HMI
- Questo topic ha 3 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 2 mesi fa da
Sergio Bertana.
-
AutorePost
-
Gennaio 28, 2015 alle 4:47 pm #35724
Fabio Tonini
PartecipanteIn un sistema SlimLine compact con HMI Weintek mi chiedono di:
1) Visualizzare sul terminale le ore di funzionamento di 4 uscite diverse (elettrovalvole), con mantenimento dei valori allo spegnimento del sistema ed azzeramento dei valori tramite tasto.
2) Gestione degli allarmi, reset e visualizzazione su HMI.
Potete indicarmi quale è la soluzione migliore per procedere.
Gennaio 29, 2015 alle 5:33 pm #38701Sergio Bertana
Amministratore del forumI modi in cui procedere sono molteplici, e sono dettati solo dalla fantasia del programmatore, credo che nel forum vi siano già spunti su cui basarsi ma volendo darti una traccia precisa, molto schematicamente ho realizzato un relè Passo/Passo di comando di una uscita logica.
Se l’uscita è attiva viene eseguito un conteggio del tempo (In secondi) e il valore del tempo è visualizzato su di un pannello operatore. Come vedi dal programma (Screenshot) il comando Passo/Passo (Topic) opera sulla variabile Cmd che è definita RETAIN in questo modo il suo stato è mantenuto allo spegnimento.
Per il conteggio del tempo viene utilizzata la variabile HourCount di tipo REAL allocata nella DB100.2048 che è un’area RETAIN ed è accessibile da terminale HMI via Modbus (Comando 3x address 41024). Inutile dire che per il reset del contaore basterà su comando eseguire un MOVE del valore 0 nella variabile HourCount.
Nel programma del terminale per la visualizzazione del contaore utilizzo un oggetto di introduzione numerica a cui associo una funzione di scalatura che divide per 3600 (Topic). Naturalmente la visualizazione sarà espressa in ore con due o più cifre decimali che rappresentano i decimi di ora e non i minuti ed i secondi. Ti allego il progetto del programma SlimLine e terminale HMI per il download.
La gestione degli allarmi è ampiamente trattata in questo topic.
Gennaio 31, 2015 alle 10:16 am #38704Anonimo
InattivoDovrei fare una modifica di programma sui due sistemi SlimLine di gestione stazione pompaggio. Mi hanno chiesto di fare un contatore per il funzionamento del PLC che gestisca una variabile acquisibile da Modbus che si incrtementi di una unità ogni secondo e che si resetti ogni qualvolta il PLC si spenga.
Pensavo di inserire queste modifiche (Screenshot) che sembrano funzionare. Unico dubbio è: a quanto arriva il valore della variabile HMIVars.Tempo ?
Gennaio 31, 2015 alle 10:26 am #38705Sergio Bertana
Amministratore del forumLa tua soluzione dimostra come vi siano diverse soluzioni allo stesso problema, tu per fare il contaore hai scomodato Timer e Counter. Sinceramente ti consiglio di utilizzare la soluzione vista nel post precedente, utilizzando una semplice operazione di somma con la base tempi di 1 secondo già fornita dal sistema operativo (Ecco lo screenshot).
Se la struttura HMIVars è allocata come credo nella DB100 per essere accessibile da Modbus ma ad indirizzi inferiori al 2048, si trova in un’area che non è ritentiva, quindi alla accensione del sistema riparte da “0”. In merito al valore massimo conteggiabile devi fare riferimento al range indicato per ogni tipo di variabile (Vedi tabella).
Come vedi se la variabile HMIVars.Tempo è di tipo UINT il suo valore massimo è 65535 quindi poco più di 18 ore poi si azzera e riparte a contare da “0”. Se è di tipo UDINT (Ti consiglio questo) il suo valore massimo è 4294967295 poco più di 136 anni. Naturalmente per leggere una variabile UDINT (32 bits) da Modbus dovrai leggere due registri a 16 bits consecutivi.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.