Vai al contenuto
PLC Forum


Wincc Flexible - Archivio delle segnalazioni


Alberto73

Messaggi consigliati

Ciao a tutti

sto lavorando con WinCC flexible e devo archiviare nella MMC di un TP277 un file con le informazioni di servizio dell'impianto (start,stop, allarme , cambio ricetta, ecc...). Ho configurato un archivio ma mi viene memorizzato un evento sia sul passaggio da 0 a 1 di un evento, ma anche sul passaggio da 1 a 0. C'è qualcuno che mi può aiutare o magari qualche esempio?. Ho chiamato la hot line Siemens 2 volte: la prima mi hanno detto che è possibile memorizzare solo sul "fronte di salita" ma era venerdì sera e mi hanno liquidato in fretta, la seconda mi hanno detto che non è possibile. Non so a chi credere

Grazie mille

Link al commento
Condividi su altri siti


Non e' chiaro cosa vuoi fare , ti serve solo il buffer degli allarmi o stai lavorando nell'alimentari e devi attivare la nuova regola di FDA per la tracciabilita' ???

Se e' il primo caso , il buffer segnalazioni memorizza ON e OFF ( e ACK ) se e' la seconda ti serve il programma aggiuntivo siemens che si chiama Audit Viewer 2005 ed in questo caso puoi decidere tu cosa registrare e se mandare via ethernet o nella MMC ( che sara' sicuramente un po' piccola )

ciao

Luca

Link al commento
Condividi su altri siti

Devo solamente dare delle info sul funzionamento dell'impianto e memorizzarle su un file. Questo file dovrebbe contenere una lista in ordine cronologico di eventi dell'impianto, tipo:

"data/ora impiato avviato"

"data/ora impianto fermo per intervento allarme"

"data/ora impiato avviato"

"data/ora impianto arrestato dall'operatore"

"data/ora caricamento nuova ricetta"

ecc...

Per creare un file di questo tipo non posso memorizzare lo stato entrante e anche uscente altrimenti non si capisce niente.

Ora mi guardo qualcosa su Audit Viewer 2005. E' una opzione di WinCC?

Ciao e grazie

Link al commento
Condividi su altri siti

Ciao,

sto lavorando con WinCC flexible e devo archiviare nella MMC di un TP277 un file

Quale formato... estensione file??

Ho configurato un archivio ma mi viene memorizzato un evento sia sul passaggio da 0 a 1 di un evento, ma anche sul passaggio da 1 a 0.

Dunque, ne devi utilizzare piu' di un archivio... almeno uno per il setup e poi uno o piu' per il risultato o i resultati ( feedback, sampling...).

Per creare un file di questo tipo non posso memorizzare lo stato entrante e anche uscente altrimenti non si capisce niente.
Appunto, e' piu' di un file che devi utilizzare.
Audit Viewer 2005. E' una opzione di WinCC?

e' un pacchetto optional che potresti incorporare ma per sistemi HMI regolati da GMP(Good Manufacturing Practice) and of the US Food and Drug Administration (FDA) ... forse non fa alla tua richiesta..... <_<

In ogni caso per disegnare un SW in linea con le regole GMP basta costruire delle routines che leggono e scrivono su dei .CSV files che poi alla fine verrano supervisate da un Server Master che controlla la HMI Network.

Mmm, non e' che poi alla fine ti serve qualcosa di piu' semplice ..... vedi link sotto

Link ;)

Modificato: da Savino
Link al commento
Condividi su altri siti

Grazie mille... ma per me che sono alle prime armi con WinCC suona molto complicato. Non è che hai qualche esempio? Ah il file che si salva nella MMC è un file.csv e pensavo di salvare un file unico con tutti gli stati dell'impianto

Ciao e grazie ancora

Link al commento
Condividi su altri siti

Non è che hai qualche esempio?

No, dispiace ... e neppure ho WinCC adesso sotto mano... ma andando a memoria ... dovresti gia'trovare nella suite di Script Functions di libreria, delle funzioni tipo "FileWriteFields" e "FileReadFields"( o di nome simile) che astraggono tutto il sottocontesto ODBC e roba varie..

Per esempio per salvare 5 "Stringhe" in un file CVS dovresti implementare dentro una "Action Script" triggered da un bottone "Salva" ....

Supponiamo 5 Tags tipo Stringa (Memory Message)

Index1,Index2,Index3,Index4,Index5 ( Array di Stringhe, l'ultimo carattere e' un indice!)

Su questi tags dovresti previamente caricare i valori in decimale delle variabile da salvare...

Index1=StringFromInteger(..)

Index2=StringFromBool(..)

Index3=StringFromReal(..)

...

//Salva 5 tags. ( path, Fileoffset, primo indirizzo buffer, lunghezza)

FileWriteFields ("C:\MY_FOLDER\FILENAME.CSV", 0, "Index1", 5);

Prova vedere sul . di linea... dovresti trovare qualcosa del genere gia' pronto ... <_<

Modificato: da Savino
Link al commento
Condividi su altri siti

forse puoi prendere spunto da questo script:

Dim fs, a, f, operatore, blank, trigger 'dichiara le variabili

trigger=0

SmartTags("archivio_1")=trigger 'azzera il trigger di memorizzazione report

operatore = SmartTags("nome_login") 'aggiorna il nome dell'operatore

'costruzione dell'header se il file non esiste

Set fs = CreateObject("FileCtl.File")'dichiara le proprietà del file

Dim esiste 'variabile booleana

'verifica lunghezza file, se=0 manca il file, quindi prepara header

fs.Open "\storage card\production.xls",8

f = fs.lof

fs.Close

If (f = 0) Then Call Header()'prepara header

If (f <= 101500) Then 'controlla la lunghezza prima di scrivere

fs.Open "\storage card\production.xls",8 'apre il file e scrive alla fine file (comando=8) ascii default

blank=" "

fs.WriteFields( CStr(Date)+ ";" + CStr(Time) + ";" + operatore + ";" + CStr(SmartTags("280_020")) + ";" + CStr(SmartTags("NOME_PROG_1"))+ ";" + CStr(SmartTags("280_022")) + ";"+ CStr(SmartTags("280_024")) + ";" + CStr(SmartTags("280_026")) + ";" + CStr(SmartTags("280_100"))):

fs.Close 'chiudi il file

Call ShowSystemAlarm("Prodution.xls successfully updated.")

Else

Call ActivateScreen("PAGINA_AUX1", 0) 'avvisa che non c'e' spazio

End If

praticamente il trigger lo dichiari come variabile archivio_1 che ha i limiti sup=1 inf=0.

nella cartella generale lo dichiari come cicli continui come acquisizione cosi non e' legato alla pagina che

stai visualizzando

negli eventi limite superiore lanci lo script.

ovviamente con il plc setti il valore = 2 per esempio.

Io ci memorizzavo i dati di produzione alla fine lotto nella riga fs.WriteFields ............

ho anche messo qualche commento, devi solo creare un altro script che prepara l'header e la pagina che

avvisa che il file e' troppo grande, poi funziona.

buon lavoro

pigroplc

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...