Skip to main content

Parametrizzazione di una visualizzazione con un'interfaccia

È possibile dichiarare un'interfaccia per i parametri per una visualizzazione a cui fare riferimento. I parametri effettivi vengono trasmessi all'interfaccia (come nel caso di un blocco funzione) quando la visualizzazione viene richiamata in runtime.

Questo tipo di visualizzazione viene utilizzato come modello di visualizzazione a cui fa riferimento una visualizzazione sovraordinata tramite un elemento frame o scheda. Le variabili dell'interfaccia vengono dichiarate nell'editor dell'interfaccia della visualizzazione del modello. Nella visualizzazione sovraordinata che richiama la visualizzazione modello i parametri di trasferimento vengono assegnati all'elemento di riferimento (cornice o scheda).

Innanzitutto dichiarare le variabili dell'interfaccia nell'editor dell'interfaccia della visualizzazione del modello. Configurare quindi i parametri assegnando una variabile dell'applicazione compatibile con il tipo di dati a ciascuna variabile dell'interfaccia. I parametri si assegnano all'elemento cornice (o elemento scheda) nelle proprietà dell'elemento (Proprietà visualizzazione).

A seconda della variante di visualizzazione, il trasferimento dei parametri di variabili locali (con il VAR portata) è limitato.

Nota

Se si esegue la visualizzazione come visualizzazione integrata, è possibile trasferire come parametri solo variabili locali con un tipo di dati di base. Se la visualizzazione si chiama as CODESYS TargetVisu o CODESYS WebVisu, è possibile trasferire parametri anche con un tipo di dati definito dall'utente.

Assistenza durante l'aggiornamento dei parametri del frame

Se si modificano le variabili dell'interfaccia in un modello di visualizzazione, si verrà assistiti nell'aggiornamento delle posizioni delle occorrenze.

Durante la compilazione vengono rilevate e visualizzate nella visualizzazione delle segnalazioni le posizioni con un trasferimento di parametri non più valido. Per ciascuna posizione rilevata viene visualizzato il seguente messaggio di errore: L'interfaccia della visualizzazione di riferimento <nome della visualizzazione> non corrisponde alla configurazione corrente. Si prega di aggiornare i riferimenti ai frame della visualizzazione corrente.

Se fai doppio clic sul messaggio, sarai assistito nella correzione dell'errore e del file Aggiorna i parametri del frame si aprirà la finestra di dialogo. Lì è possibile modificare il trasferimento dei parametri nella posizione pertinente. Potete però anche modificare il trasferimento dei parametri di tutti i punti interessati dell'intero progetto.

Per ulteriori informazioni, vedere: Aggiorna i parametri del frame, Opzioni: Visualizzazione

Visualizzazione chiamate con interfaccia (VAR_IN_OUT)

Requisito: il progetto contiene una visualizzazione e una visualizzazione principale. La visualizzazione principale contiene un elemento a cui fa riferimento la visualizzazione.

  1. Apri la visualizzazione.

  2. Clic Visualizzazione → Editor interfaccia.

  3. Dichiara una variabile nell'editor dell'interfaccia.

    La visualizzazione ha un'interfaccia e il Aggiornamento dei parametri del frame viene visualizzata la finestra di dialogo.

  4. Assegnare un parametro di trasferimento conforme al tipo alle variabili di interfaccia in tutti i richiami immettendo una variabile dell'applicazione in Valore. Esci dalla finestra di dialogo.

    Un parametro di trasferimento viene assegnato nei punti in cui si vuole fare riferimento alla visualizzazione. Questi ora appaiono nella visualizzazione principale in Riferimenti proprietà.

Esempio 24. Esempio

Il visPie la visualizzazione contiene una torta colorata e animata. Il visMain la visualizzazione principale chiama il visPie visualizzazione più volte in Schede. Le informazioni sul colore, le informazioni sull'angolo e l'etichetta vengono trasferite tramite il pieToDisplay variabile di interfaccia. Le torte variano in fase di esecuzione.

Visualizzazione visPie:

_visu_img_tab.png
Tabella 3. Proprietà dell'elemento Torta:

Variabile per inizio

pieToDisplay.iStart

Variabile per fine

pieToDisplay.iEnd

Testi → Testo

%S

Variabili di testo → Variabili di testo

pieToDisplay.sLabel

Variabile colore → Stato normale

pieToDisplay.dwColor



Interfaccia della visualizzazione visPie:

                            VAR_IN_OUT
                            pieToDisplay : DATAPIE;
                            END_VAR
                        

Visualizzazione principale visMain:

Tabella 4. Proprietà dell'elemento "Schede":

Riferimenti

visPie

Intestazione

A

pieToDisplay

PLC_PRG.pieA

visPie

Intestazione

B

pieToDisplay

PLC_PRG.pieB

visPie

Intestazione

C

pieToDisplay

PLC_PRG.pieC



DATAPIE (STRUCT)

TYPE DATAPIE : // Parameter type used in visPie
STRUCT
    dwColor : DWORD; // Color data
    iStart : INT; // Angle data
    iEnd : INT;
    sLabel : STRING;
END_STRUCT
END_TYPE
                        

GVL

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
    c_dwBLUE : DWORD := 16#FF0000FF; // Highly opaque
    c_dwGREEN : DWORD := 16#FF00FF00; // Highly opaque
    c_dwYELLOW : DWORD := 16#FFFFFF00; // Highly opaque
    c_dwGREY : DWORD :=16#88888888; // Semitransparent
    c_dwBLACK : DWORD := 16#88000000; // Semitransparent
    c_dwRED: DWORD := 16#FFFF0000;  // Highly opaque
END_VAR                        

PLC_PRG

PROGRAM PLC_PRG
VAR
    iInit: BOOL := TRUE;
    pieA : DATAPIE; // Used as argument when visPie is called
    pieB : DATAPIE;
    pieC : DATAPIE;
    iDegree : INT; // Variable center angle for the pie element used for animation
END_VAR

IF iInit = TRUE THEN
    pieA.dwColor := GVL.c_dwBLUE;
    pieA.iStart := 0;
    pieA.sLabel := 'Blue';

    pieB.dwColor := GVL.c_dwGREEN;
    pieB.iStart := 22;
    pieB.sLabel := 'Green';

    pieC.dwColor := GVL.c_dwYELLOW;
    pieC.iStart := 45;
    pieC.sLabel := 'Yellow';

    iInit := FALSE;
END_IF
iDegree := (iDegree + 1) MOD 360;
pieA.iEnd := iDegree;
pieB.iEnd := iDegree;
pieC.iEnd := iDegree;                       

Visualizzazione principale visMain in fase di esecuzione:

_visu_img_pie_rt.png


Stampa del nome di istanza di un parametro di trasferimento

Per ottenere ed emettere il nome di istanza di un parametro di trasferimento, è possibile implementare una variabile di interfaccia (tipo di dati STRING) con il pragma {attribute 'parameterstringof'} nel VAR_INPUT scopo.

Il progetto contiene una visualizzazione e una visualizzazione principale. La visualizzazione principale contiene elementi a cui fa riferimento la visualizzazione.

  1. Apri la visualizzazione.

  2. Clic Visualizzazione → Editor interfaccia.

  3. Dichiara una variabile di interfaccia (VAR_IN_OUT).

    pieToDisplay : DATAPIE;

  4. Nell'editor dell'interfaccia, dichiara una variabile (VAR_INPUT) con attributo {attribute 'parameterstringof'}.

    {attribute 'parameterstringof' := 'pieToDisplay'}

    sNameToDisplay : STRING;

  5. Salva le modifiche.

    Il Aggiornamento dei parametri del frame la finestra di dialogo non si apre.

  6. Inserisci un Campo di testo elemento.

  7. Nel Testi, Testo proprietà, assegnare un testo di output al campo di testo.

    Visualization of %s

  8. Nel Variabili di testoVariabile di testo proprietà, assegnare la variabile di interfaccia al campo di testo.

    sNameToDisplay

    visPie ha una intestazione.

Esempio 25. Esempio

Il visPie la visualizzazione consiste in una torta fino ad ora. Il visMain principali chiamate di visualizzazione visPie in Schede tre volte con parametri di trasferimento diversi.

visPie viene esteso con un campo di testo che emette il nome dei parametri effettivi passati alla visualizzazione. Inoltre, l'interfaccia di visPie viene esteso con una variabile stringa che contiene il nome di istanza del parametro di trasferimento specificato. In fase di esecuzione, ogni torta viene sovrascritta.

_visu_img_titled_pie.png
Tabella 5. Proprietà dell'elemento "Campo di testo":

Testi, Testo

Visualization of %s

Variabili di testo, Variabile di testo

sNameToDisplay



Interfaccia del visPie visualizzazione

VAR_INPUT
    {attribute 'parameterstringof' := 'pieToDisplay'}
    sNameToDisplay : STRING;
END_VAR
VAR_IN_OUT
    pieToDisplay : DATAPIE;
END_VAR                        

Visualizzazione principale visMain in fase di esecuzione:

_visu_img_pie_rt_labeled.png