|
Novità da WinCC V7.0
Da WinCC V7.0 sono disponibili, come azioni in C e come azioni VBS, funzioni standard per la generazione di segnalazione definite dall’utente. Ulteriori informazioni si trovano nel WinCC Information System nel percorso: Primi passi > Cosa c’è di nuovo > Ulteriori novità.
Informazione preliminare Le segnalazioni di servizio possono essere rese disponibili, senza un grande impegno di progettazione, in un Audit-Trail con l'impiego dell'opzione WinCC Audit. Le segnalazioni di servizio, anche di tutto l'impianto, tramite l'ambiente Client/Server (non WebNavigator Client/Server) del proprio progetto, possono poi essere registrate semplicemente in un Audit-Trail centrale. L'Audit-Trail può essere protetto contro le modifiche.
Inoltre nello Audit-Trail è anche possibile rilevare variazioni nell'Engineering. L'opzione WinCC Audit è una opzione standard di WinCC con il corrispondente supporto di release.
Istruzioni
In caso di operazioni sui campi di I/O le segnalazioni di servizio vengono generate automaticamente in WinCC, se nella progettazione dei campi di I/O è stata impostata su "Si" la proprietà "Segnalazioni di servizio".
Questo articolo descrive come si può generare una segnalazione di servizio definita dall'utente con l'aiuto dell'opzione di WinCC "WinCC Open Development Kit" (ODK). Ad esempio può essere necessario generare una segnalazione di servizio in occasione della pressione di un pulsante. La funzione in C in quest'articolo utilizza funzioni ODK, che sono disponibili a partire da WinCC V6.0 SP3. L’articolo con ID 218555 utilizza invece le funzioni ODK che possono essere impiegate anche con le versioni precedenti di WinCC. Informazioni sullo ODK si ottengono nell’articolo con ID 9652128.
Avvertenze per la generazione di una segnalazioni servizio si trovano nella Guida in linea di WinCC sotto "WinCC Information System > Lavorare con WinCC > Creazione di un sistema di segnalazione > Sistema di segnalazione in WinCC".
La tabella seguente descrive come si progetta una segnalazione di servizio definita dall'utente. Questo articolo presuppone che si utilizzi il Project editor OS di WinCC. Non si deve eseguire alcuna modifica alle pagine generate tramite l’editor di progetto OS (finestra di segnalazione). La segnalazione di servizio definita dall'utente viene visualizzata nella finestra di segnalazione "Lista di servizio".
|
Passo |
Descrizione |
|
1 |
Progettazione della segnalazione di servizio in Alarm Logging
Aprire l’editor Alarm Logging e creare una segnalazione con la classe di segnalazione "Segnalazione di servizio". Il numero della segnalazione può essere assegnato liberamente. In questo esempio viene utilizzato il numero di segnalazione “1001”.
  Figura 01
Nel registro "Testi" parametrizzare quei blocchi di testo utente che devono essere visualizzati nella runtime. In questo esempio vengono visualizzati come testo i valori dei blocchi di valori di processo 1 ... 5 nei blocchi di testo utente 1 ... 5.
  Figura 02
Qui i blocchi di valori di processo vengono solo associati ai blocchi di testo utente. L'effettiva impostazione dei blocchi di valori di processo avviene nella runtime con la funzione "MSRTCreateMsgInstanceWithComment()" (vedi il passo 2).
Avvertenza
Di principio per generare segnalazioni di servizio si può anche utilizzare la segnalazione interna con il numero di segnalazione "12508141". In questo caso la progettazione di questo passo può mancare completamente. La struttura della segnalazione di servizio con il numero di segnalazione "12508141" è però assegnata fissa. Il valore prima dell'operazione (valore vecchio) viene visualizzato nel Blocco_valori_di_processo_2 ed il valore modificato (valore nuovo) viene visualizzato nel Blocco_valori_di_processo_3.
Blocco_testo_utente_3 e Blocco_testo_utente_5 contengono il nome dell'utente che ha effettuato il login, seguito da valore nuovo e valore vecchio. |
|
2 |
Programmazione della funzione per la generazione della segnalazione di servizio
Il seguente download contiene il file "isalg_operationlog.fct".
WinCC_OperationLog.zip ( 6 KB )
Copiare questo file nella directory "library" della directory di progetto di WinCC. Aprire l'editor "Global Script C" ed eseguire il comando di menù "Opzioni > Genera nuovo header". Poi la funzione "ISALG_OperationLog()" risulta disponibile come funzione di progetto.
Questo passo deve essere eseguito anche nel progetto WinCC di un client (MultiClient), per generare segnalazioni servizio durante la runtime.
Avvertenza
Nel seguito è descritta la struttura della funzione "ISALG_OperationLog()".
- INIT_MESSAGE_STRUCT
In questa sezione viene riempita la struttura per la generazione di una segnalazione "MsgCreateEx". Con la funzione "GetLocalTime()" viene individuato il tempo locale del computer. Con la funzione "GetComputerNameA()" viene rilevato il nome del computer. La funzione "PWRTGetCurrentUser()" rileva il nome dell'utente WinCC che ha effettuato il login. La funzione verifica in questa sezione la validità del parametro trasferito ed inizializza i blocchi di valori di processo 1 ... 5 come valori di testo.
Blocco_valori_di_processo_1
Parametro pszSource
Nel parametro "pszSource" può essere trasferita la provenienza (p. es. nome variabile risp. nome del punto di misura) della segnalazione di servizio. Se viene utilizzato questo parametro (valore diverso da ZERO), questo testo viene visualizzato nel Blocco_valori_di_processo_1 della segnalazione.
Blocco_valori_di_processo_2
Parametro pszArea
Nel parametro "pszArea" si può trasferire il campo (p. es. campo impianto opp. impianto parziale) della segnalazione di servizio. Se viene utilizzato questo parametro (valore diverso da ZERO), questo testo viene visualizzato nel Blocco_valori_di_processo_2 della segnalazione.
Blocco_valori_di_processo_3, Blocco_valori_di_processo_5
Parametro pszEvent, fOld, fNew, pszUnit
Nel parametro "pszEvent" può essere trasferito il testo dell'evento (p. es. "Assegnazione setpoint" opp. "Motore ON") della segnalazione di servizio. Nel parametro "fOld" viene trasferito il valore prima dell’operazione di servizio e nel parametro "fNew" il valore modificato. Nel parametro "pszUnit" si può trasferire l'unità di misura. Questa informazione così come le informazioni addizionali Nome computer e Nome utente vengono visualizzate in Blocco_valori_di_processo_3 e Blocco_valori_di_processo_5 della segnalazione.
Blocco_valori_di_processo_4
Parametro pszBatch
Nel parametro "pszBatch" può essere trasferito il nome del batch opp. del lotto della segnalazione di servizio. Questo testo viene visualizzato nel Blocco_valori_di_processo_4 della segnalazione.
- START_MESSAGE_SERVICE
In questa posizione viene richiamata la funzione "MSRTStartMsgService()".
Avvertenza
Se si utilizza la funzione "MSRTStartMsgService()" su un client (MultiClient), allora l'emissione delle segnalazioni di servizio ha luogo sul server standard progettato. Se non è progettato alcun server standard, il richiamo della funzione fallisce. Per progettare un server standard, nell'albero di progetto del WinCC Explorer fare clic con il tasto destro del mouse sulla voce "Serverdata". Scegliere poi nel menù contestuale la voce "Standard server...". Associare allo Alarm Logging (Allarmi componenti) il nome computer simbolico desiderato di un server WinCC. Sono disponibili per la scelta dei nomi computer simbolici di quei server di cui sono stati importati i Server data.
- CREATE_MESSAGE_INSTANCE
In questa sezione viene richiamata la funzione
"MSRTCreateMsgInstanceWithComment()".
- STOP_MESSAGE_SERVICE
In questa sezione viene richiamata la funzione "MSRTStopMsgService()".
La funzione comprende le istruzioni "printf()", che durante la runtime generano segnalazioni di diagnostica nella finestra di diagnostica Global Script opp. nella APDIAG "Output Window". |
|
3 |
Richiamo della funzione per la generazione della segnalazione di servizio
Si può utilizzare la funzione "ISALG_OperationLog()" direttamente nell'immagine di processo o in un blocco immagine. La figura seguente mostra il richiamo della funzione con un clic del mouse su un pulsante.
  Figura 03 |
Avvertenze
- La funzione "MSRTCreateMsgInstanceWithComment()" è disponibile da WinCC V6.0 SP3. Essa richiede l'impiego di una struttura del tipo "MSG_RTDATA_INSTANCECOMMENT_STRUCT". I blocchi di valori di processo possono accettare testi fino a 256 caratteri, seguiti dal carattere finale stringa "NULL". La lunghezza massima effettiva dei testi non deve superare i 255 caratteri, poiché i blocchi di testo utente all'interno del WinCC Alarm Logging possono visualizzare max. 255 caratteri. Inoltre i testi con una lunghezza eccessiva non possono essere visualizzati in modo sensato nel WinCC Alarm Control.
- Nelle versioni di WinCC precedenti a WinCC V6.0 SP3 per la generazione di una segnalazione di servizio è possibile utilizzare al suo posto la funzione "MSRTCreateMsg()". Fare attenzione che in questo caso il numero di caratteri di un Blocco_valori_di_processo vale max. 32 (la struttura corrispondente "MSG_RTCREATE_STRUCT"). Se in un blocco di testo utente si devono visualizzare più caratteri, per la visualizzazione di un blocco testo utente si possono utilizzare più blocchi di valori di processo. L’impostazione del commento della segnalazione avviene con la funzione separata "MSRTSetComment()".
- Lo script in questo articolo è stato verificato con una WinCC Single Station e WinCC Client per le versioni WinCC V6.0 SP4 e WinCC V6.2, WinCC V6.2 SP2 e WinCC V7.0 . Inoltre è stato eseguito un test positivo con il WinCC Web Navigator V6.2, WinCC Web Navigator V6.2 SP2 e WinCC Web Navigator V7.0.
|