tonynos Inserito: 18 agosto 2011 Segnala Share Inserito: 18 agosto 2011 ciao,vorrei creare una pagina di memorizzazione degli errori sul HMI (600 pn).In maniera sintetica: ho collegato alcune entrate del plc (1212C) a dei contati del mio impianto. quando questi contatti si chiudono significa che c'è un guasto nell'impianto. vorrei che il plc registrasse la data, l'ora e la durata del guasto (per quanto tempo il contatto è stato chiuso). poi vorrei leggere queste informazioni in una pagina del HMI (ho visto che ci sono delle pagine già compilate per fare questo).Avevo pensato di inserire un OB time delay int che in continuo verifica lo stato degli ingressi. in caso di guasto richiama una funzione specifica del guasto. Quest funzione registra una stringa e in caso in cui un errore dura più di un determinato tempo svolge alcune azioni (attiva delle uscite etc...).tnks Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 18 agosto 2011 Segnala Share Inserita: 18 agosto 2011 In prima riflessione (su due piedi) si può fare così:Puoi farti degli arrey, nel quale scrivi la data, l'ora e il tuo codice guasto/evento, nonchè il tempo che è durato l'evento. Incrementi il contatore dell'arrey ogni volta che si verifica un evento, il totale indica quanti eventi si sono verificati. Poi decidi tu se resettarli oppure no. Link al commento Condividi su altri siti More sharing options...
tonynos Inserita: 18 agosto 2011 Autore Segnala Share Inserita: 18 agosto 2011 potresti essere più dettagliato? mi potresti spiegare meglio il procedimento? Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 18 agosto 2011 Segnala Share Inserita: 18 agosto 2011 (modificato) Esistono due comandi che servono per creare degli array, rispettivamente fieldread per leggere dall'array e fieldwrite per scrivere nell'array.Glia array sono delle matrici indicizzate che hanno le stesse caratteristiche. In pratica puoi immagginarle come delle tabbelle con un indice, nel quale in ogni casella vai a scrvere un dato. Ora tu vuoi creare una sorta di elenco che memorizza dei dati ad eventi, tipo la data, l'ora, il tipo di evento e la durata. Se tu ti crei degli array, diciamo uno per ogni dato che vuoi memorizzare, puoiscrivere i dati nell'array con il comando fieldwrite ogni volta che si verifica un evento. Ogni volta che si verifica un evento vai ad incrementare un contatore che è l'indice dei tuoi array. Quando tu vuoi vedere cosa è successo, e vedi che il tuo contatore è arrivato a 12, sai che si sono verificati 12 eventi/guasti. Se tu vai a leggere la prima posizione dei tuoi array, leggerai i dati del primo evento data,ora, evento, durata, seconda posizione, terza posizione ecc. Se azzeri il contatore i dati man mano verranno sovrascritti. Se vuoi puoi anche azzarare tutti gli elenchi creandoti una spece di ciclo "for to next" dove i cicli sono pari al numero di eventi memorizzati.Se vuoi, c'è anche un'altro metodo per memorizzare tutto. Quello di utilizzare una memory card, con il quale con appositi comandi ti crei un file sulla memory card, e vai a scrivere su questo file i dati che a te interessano. Questa soluzione è un tantino più professionale, perchè puoi anche esportare i dati della memory card in una tabbella di excel, ma è anche più costosa perchè devi acquistare la scheda e siemens......l'ha salata....... Spero di esserti stato di aiuto Modificato: 18 agosto 2011 da baltimora Link al commento Condividi su altri siti More sharing options...
tonynos Inserita: 25 agosto 2011 Autore Segnala Share Inserita: 25 agosto 2011 ciao,grazie per l'aiuto. ho provato a fare gli array. ma il problema stava nella visualizzazione. non riuscivo a fare una pagina dove visualizzare la tabella con le 4 colonne e le righe.quindi ho cambiato idea e ho creato una pagina segnalazioni. Un contatore aumenta di numero e di conseguenza scrive 0 o 1 nelle varie posizioni dell'array che comanda le segnalazioni.non riesco però a capire perchè se creo una nuova classe i segnalazioni questa non viene visualizzata. mi visualizza soltanto al categoria pre-impostata denominata "ERRORS".poi anche se l'errore scompare sullo schermo rimane il triangolino di segnalazione, come faccio a farlo togliere quando l'errore scompare?grazie ancora!! 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