Skip to main content

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.

  1. Aggiungi una visualizzazione sotto la tua applicazione.

    1. Seleziona l'applicazione e clicca su Aggiungi oggettoVisualizzazione comando.

    2. Specificare il nome come VIS_PartsShortage.

  2. Aprire l'editor di visualizzazione.

  3. Trascina il Tabella degli allarmi elemento dal Gestore allarmi categoria nell'editor di visualizzazione e apri la vista delle proprietà dell'elemento.

  4. Configurare la tabella degli allarmi come segue.

    1. Nel Nome dell'elemento proprietà, nella Valore colonna, specificare il nome AT_PartsShortage.

    2. Configurazione del Alarm groups proprietà dell'elemento di visualizzazione:

      1. Nel Configurazione dell'allarmeGruppi di allarme proprietà, fare clic nella cella del valore corrispondente.

        IL Ragruppa di allarmi selezionato si apre la finestra di dialogo.

      2. Cancella il Tutto opzione e seleziona l' AG_PartsShortage gruppo di allarme.

      3. Fare clic su _visu_img_add_selected_alarm_group.png pulsante per aggiungere il gruppo al Ragruppa di allarmi selezionato lista.

      4. Clic OK per confermare la configurazione.

    3. Configurazione del Classi di allarme proprietà dell'elemento di visualizzazione:

      1. Nel Configurazione dell'allarmeClassi di allarme proprietà, definisci le classi di allarme che desideri visualizzare. Fai clic nel campo valore.

        Nel Configurazione dell'allarmeClassi di allarme proprietà, fare clic nella cella del valore corrispondente.

        IL Seleziona la classe di allarme si apre la finestra di dialogo.

      2. Cancella il Tutto opzione e seleziona l' AC_PartsShortage classe di allarme.

      3. Fare clic su _visu_img_add_selected_alarm_group.png pulsante per aggiungere la classe di allarme alle classi di allarme selezionate.

      4. Clic OK per confermare la configurazione.

    4. Configurazione di una colonna:

      1. Nel Colonne proprietà, fare clic su Crea nuovo pulsante.

        Colonna [2] è disponibile. La nuova colonna con il nome Bitmap è elencato nell'editor di visualizzazione.

      2. Nel Tipologia di dati proprietà, seleziona la Stato valore per la colonna [2].

        Nella tabella, alla colonna viene assegnata la nuova intestazione predefinita State.

      3. Nel Intestazione di colonna proprietà, specificare il nome Parts Shortage State.

        La colonna [2] viene rinominata.

    5. Configurazione del Selezione proprietà dell'elemento di visualizzazione:

      1. Nel Selezione colore proprietà, seleziona il colore Green nel Valore colonna.

        In fase di esecuzione, le celle della tabella possono essere selezionate dall'utente della visualizzazione. Queste diventano verdi.

    6. Configurazione del Variabili di controllo proprietà dell'elemento di visualizzazione:

      1. Nel codice dell'applicazione, dichiarare il bQuitAlarm variabile di controllo.

      2. Nel Riconosci selezionato proprietà, specificare la PLC_PRG.bQuitAlarm variabile nella cella valore.

    Proprietà configurate

    _visu_img_alarm_table_porperties.png

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.

  1. Nell'editor di visualizzazione, seleziona la tabella degli allarmi elemento.

  2. Nel menu contestuale, fare clic su Inserisci elementi per il riconoscimento dell'allarme comando.

    Il Alarm Table Wizard si apre la finestra di dialogo.

  3. Clic OK per accettare tutte le impostazioni.

    Il Riconosci selezionato, Acknowledge all visible, History, E Freeze scrolling position Sono stati aggiunti pulsanti. Gli elementi hanno una configurazione ingresso completa.

    _visu_img_alarm_table_controls.png

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 SelezioneVariabile per informazioni sull'allarme selezionato proprietà della tabella degli allarmi, specificare una variabile di tipo AlarmSelectionInfo Quindi utilizzare la variabile nell'applicazione come segue:

  1. Aggiungi un nuovo PRG_VISU POU.

  2. Aggiungere il PRG_VISU POU a VISU_TASK.

  3. Aprire il PRG_VISU POU 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_VAR                        

    Implementazione

    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