Creazione di una visualizzazione con una tabella degli allarmi
Nelle istruzioni seguenti, il Tabella degli allarmi elemento di visualizzazione è configurato come esempio.
Per ulteriori informazioni, vedere quanto segue: Definizione di un Ragruppa di allarmi e di allarmi
Configurazione
Requisito: Il AG_PartsShortage gruppo di allarme e il AC_PartsShortage le classi di allarme sono definite nel tuo progetto.
Aggiungi una visualizzazione sotto la tua applicazione.
Seleziona l'applicazione e clicca su Aggiungi oggetto → Visualizzazione comando.
Specificare il nome come
VIS_PartsShortage.
Aprire l'editor di visualizzazione.
Trascina il Tabella degli allarmi elemento dal Gestore allarmi categoria nell'editor di visualizzazione e apri la vista delle proprietà dell'elemento.
Configurare la tabella degli allarmi come segue.
Nel Nome dell'elemento proprietà, nella Valore colonna, specificare il nome
AT_PartsShortage.Configurazione del
Alarm groupsproprietà dell'elemento di visualizzazione:Nel Configurazione dell'allarme → Gruppi di allarme proprietà, fare clic nella cella del valore corrispondente.
IL Ragruppa di allarmi selezionato si apre la finestra di dialogo.
Cancella il Tutto opzione e seleziona l'
AG_PartsShortagegruppo di allarme.Fare clic su
pulsante per aggiungere il gruppo al Ragruppa di allarmi selezionato lista.Clic OK per confermare la configurazione.
Configurazione del Classi di allarme proprietà dell'elemento di visualizzazione:
Nel Configurazione dell'allarme → Classi di allarme proprietà, definisci le classi di allarme che desideri visualizzare. Fai clic nel campo valore.
Nel Configurazione dell'allarme → Classi di allarme proprietà, fare clic nella cella del valore corrispondente.
IL Seleziona la classe di allarme si apre la finestra di dialogo.
Cancella il Tutto opzione e seleziona l'
AC_PartsShortageclasse di allarme.Fare clic su
pulsante per aggiungere la classe di allarme alle classi di allarme selezionate.Clic OK per confermare la configurazione.
Configurazione di una colonna:
Nel Colonne proprietà, fare clic su Crea nuovo pulsante.
Colonna [2] è disponibile. La nuova colonna con il nome
Bitmapè elencato nell'editor di visualizzazione.Nel Tipologia di dati proprietà, seleziona la Stato valore per la colonna [2].
Nella tabella, alla colonna viene assegnata la nuova intestazione predefinita
State.Nel Intestazione di colonna proprietà, specificare il nome
Parts Shortage State.La colonna [2] viene rinominata.
Configurazione del Selezione proprietà dell'elemento di visualizzazione:
Nel Selezione colore proprietà, seleziona il colore
Greennel Valore colonna.In fase di esecuzione, le celle della tabella possono essere selezionate dall'utente della visualizzazione. Queste diventano verdi.
Configurazione del Variabili di controllo proprietà dell'elemento di visualizzazione:
Nel codice dell'applicazione, dichiarare il
bQuitAlarmvariabile di controllo.Nel Riconosci selezionato proprietà, specificare la
PLC_PRG.bQuitAlarmvariabile nella cella valore.
Proprietà configurate

Integrazione di una visualizzazione di allarme con controlli
L'utente della visualizzazione necessita di controlli per gestire la visualizzazione degli allarmi. Durante la programmazione, è possibile ottenere supporto dalla procedura guidata per la tabella degli allarmi. Il comando che richiama la procedura guidata è disponibile solo se è stata selezionata una tabella degli allarmi nella visualizzazione.
Nell'editor di visualizzazione, seleziona la tabella degli allarmi
elemento.Nel menu contestuale, fare clic su Inserisci elementi per il riconoscimento dell'allarme comando.
Il Alarm Table Wizard si apre la finestra di dialogo.
Clic OK per accettare tutte le impostazioni.
Il
Riconosci selezionato,Acknowledge all visible,History, EFreeze scrolling positionSono stati aggiunti pulsanti. Gli elementi hanno una configurazione ingresso completa.
Valutazione delle informazioni di allarme nel codice del programma
IL Tabella degli allarmi L'elemento di visualizzazione può scrivere informazioni dalla visualizzazione in una variabile dell'applicazione in fase di esecuzione. Questa variabile può essere valutata a livello di codice.
Ottieni informazioni su un allarme (ad esempio: gruppo di allarme, ID di allarme, timestamp delle transizioni di stato, variabili di latch, testi dei messaggi) dalla struttura AlarmSelectionInfo (VisuElemsAlarm biblioteca).
Per fare questo, nel Selezione – Variabile per informazioni sull'allarme selezionato proprietà della tabella degli allarmi, specificare una variabile di tipo AlarmSelectionInfo Quindi utilizzare la variabile nell'applicazione come segue:
Aggiungi un nuovo
PRG_VISUPOU.Aggiungere il
PRG_VISUPOU aVISU_TASK.Aprire il
PRG_VISUPOU nell'editor e inserisci le seguenti righe di programma.Dichiarazione
PROGRAM PRG_VISU VAR alarmSelectionInfoDefault : AlarmSelectionInfoDefault; sLastTimestampDate : STRING; sLastTimestampTime : STRING; sLatch1 : STRING; sLatch2 : STRING; wsMessage1 : WSTRING := "No selection"; wsMessage2 : WSTRING := "No selection"; pInt : POINTER TO INT; xInit: BOOL := TRUE; pString : POINTER TO STRING; cbsFormattedValueLatch1 : CharBufferString(uiBufferSize := 0, stringType := TYPE_CLASS.TYPE_STRING); cbsFormattedValueLatch2 : CharBufferString(uiBufferSize := 0, stringType := TYPE_CLASS.TYPE_STRING); abyLocalBufferLatch1 : ARRAY[0..LENGTH] OF BYTE; abyLocalBufferLatch2 : ARRAY[0..LENGTH] OF BYTE; iPrevSelectionChangedCounter: INT; END_VAR VAR CONSTANT // The length of the string of the local CharBufferString instance LENGTH : INT := 80 * 2; END_VARImplementazione
IF xInit THEN cbsFormattedValueLatch1.Init(pBuffer:=ADR(abyLocalBufferLatch1), uiBufferSize:=INT_TO_UINT(LENGTH + 1), stringType:=TYPE_CLASS.TYPE_STRING); cbsFormattedValueLatch2.Init(pBuffer:=ADR(abyLocalBufferLatch2), uiBufferSize:=INT_TO_UINT(LENGTH + 1), stringType:=TYPE_CLASS.TYPE_STRING); xInit := FALSE; END_IF IF alarmSelectionInfoDefault.AlarmSelectionInfo.iSelectionChangedCounter <> iPrevSelectionChangedCounter THEN // Format Date/Time as string sLastTimestampDate := AlarmManager.FormatDate(alarmSelectionInfoDefault.AlarmSelectionInfo.timeStampLast, AlarmManager.AlarmGlobals.g_sDateFormat); sLastTimestampTime := AlarmManager.FormatTime(alarmSelectionInfoDefault.AlarmSelectionInfo.timeStampLast, AlarmManager.AlarmGlobals.g_sTimeFormat); // Retrieve latch variables as string cbsFormattedValueLatch1.FromString(''); pString := FormatTypedValue(alarmSelectionInfoDefault.AlarmSelectionInfo.paLatchVariables^[0], cbsFormattedValueLatch1); STU.StrCpyA(ADR(sLatch1), SIZEOF(sLatch1), pString); cbsFormattedValueLatch2.FromString(''); pString := FormatTypedValue(alarmSelectionInfoDefault.AlarmSelectionInfo.paLatchVariables^[1], cbsFormattedValueLatch2); STU.StrCpyA(ADR(sLatch2), SIZEOF(sLatch2), pString); // Retrieve messages STU.StrCpyW(ADR(wsMessage1), SIZEOF(wsMessage1), alarmSelectionInfoDefault.AlarmSelectionInfo.papwsAlarmMessages^[0]); STU.StrCpyW(ADR(wsMessage2), SIZEOF(wsMessage2), alarmSelectionInfoDefault.AlarmSelectionInfo.papwsAlarmMessages^[1]); iPrevSelectionChangedCounter := alarmSelectionInfoDefault.AlarmSelectionInfo.iSelectionChangedCounter; END_IF