|
Argomenti Questa FAQ tratta i due argomenti seguenti:
Monitoraggio di stato di una variabile
Il monitoraggio di stato di una variabile viene realizzato con una azione Global Script che fornisce come risposta lo stato della variabile da controllare ed emette come optional una segnalazione.
La prima parte della FAQ illustra come creare un'azione Global Script per il monitoraggio della variabile, in cui nella finestra di dialogo compare solo un messaggio. Nella seconda parte l'azione Global Script è configurata in modo da emettere un messaggio nella finestra di dialogo e quindi un segnalazione.
1. Procedere come segue per creare l'azione Global Script che emette solo un messaggio nella finestra di dialogo
| N. |
Procedura |
| 1 |
Aprire l'editor Global Script (ANSI C) e creare una nuova azione. |
| 2 |
Scrivere nell'azione la seguente funzione:
#include "apdefap.h"
int gscAction(void)
{
DWORD dwState = 0;
GetTagSWordState ("Variabile_esterna_1", &dwState);
if (dwState == 0)
{
//Stato variabile OK
printf ("Stato variabile Ok: [Statuscode (hex):%X]\r\n",dwState);
}
else
{
//Stato variabile Tag status diverso
printf ("Tag status diverso: [Statuscode (hex):%X]\r\n",dwState);
}
return(0);
} |
| 3 |
Impostare il trigger dell'azione sulla variabile da controllare (qui "Variabile_esterna_1"; ciclo: alla modifica). |
| 4 |
In Global Script/Tools eseguire il comando "Regenerate Header". |
| 5 |
Salvare l'azione e chiudere l'editor Global Script. |
| 6 |
Aprire Graphics Designer e creare una immagine del processo (PDL). |
| 7 |
Configurare "Global Script Diagnostics" tramite l'oggetto smart "Application Window". |
| 8 |
Salvare l'immagine e definirla quindi come immagine iniziale. |
| 9 |
In Computer/Start attivare la Global Script Runtime se non è ancora stata attivata. |
Avviando ora la runtime, nella finestra di dialogo Global Script compare un messaggio con l'attuale stato della variabile non appena lo stato della variabile monitorata varia.
2. Procedere come segue per creare l'azione Global Script che emette un messaggio nella finestra di dialogo e quindi una segnalazione
| N. |
Procedura |
| 1 |
Creare una variabile interna del tipo "binario" (lo stato di questa variabile genera quindi una segnalazione). Nell'esempio questa variabile si chiama "Trigger". |
| 2 |
Inserire in AlarmLogging una nuova riga di segnalazione: e configurare la variabile interna "Trigger" come variabile di segnalazione (il testo di segnalazione può essere definito liberamente in base alla situazione dell'impianto).
Attivare inoltre le seguenti opzioni nelle proprietà della segnalazione: "Requires separate acknowledgment", "Addresses central master" e "Is archived". |
| 3 |
Salvare le modifiche in Alarm Logging e chiudere quindi l'editor. |
| 4 |
Aprire l'editor Global Script (ANSI C) e creare una nuova azione. |
| 5 |
Scrivere nell'azione la seguente funzione:
#include "apdefap.h"
int gscAction(void)
{
DWORD dwState = 0;
GetTagSWordState ("Variabile_esterna_1", &dwState);
if (dwState == 0)
{
//Stato variabile OK
printf ("Stato variabile Ok: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger", FALSE);
}
else
{
//Stato variabile Tag status diverso
printf ("Tag status diverso: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger", TRUE);
}
return(0);
} |
| 6 |
Inserire nelle impostazioni trigger dell'azione un nuovo trigger della variabile. Selezionare l'evento "Tag" e scegliere come nome della variabile la variabile da monitorare (qui "Variabile_esterna_1"). Se necessario, adeguare il ciclo standard (2 secondi) alle proprie esigenze. Il ciclo standard definisce la frequenza con cui la variabile viene aggiornata per verificare le modifiche. |
| 7 |
In Global Script/Tools eseguire il comando "Regenerate Header". |
| 8 |
Salvare l'azione e chiudere l'editor Global Script. |
| 9 |
Aprire Graphics Designer e creare un'immagine del processo (PDL). |
| 10 |
Configurare "Global Script Diagnostics" tramite l'oggetto smart "Application Window" e un WinCC Alarm Control. |
| 11 |
Salvare l'immagine e definirla quindi come immagine iniziale. |
| 12 |
In Computer/Start attivare la Global Script Runtime e l'Alarm Logging se non sono ancora stati attivati. |
Avviando ora la runtime, nella finestra di dialogo Global Script compare un messaggio con l'attuale stato della variabile non appena lo stato della variabile monitorata varia. La segnalazione viene emessa quando lo stato della variabile è differente.
Monitoraggio di stato di una connessione
Se si desidera emettere una segnalazione speciale quando la connessione cade completamente, utilizzare il codice di programma seguente. A tale scopo configurare per una seconda segnalazione e una seconda variabile trigger.
| N. |
Procedura |
| 1. |
#include "apdefap.h"
int gscAction( void )
{
DWORD dwState = 0;
GetTagSWordState ("Variabile_esterna_1", &dwState);
if (dwState == 0)
{
//Stato variabile OK
printf ("Stato variabile Ok: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger", FALSE);
SetTagBit ("Connessione_trigger_interrotta", FALSE);
}
else if (dwState&0X0001)
{
SetTagBit ("Connessione_trigger_interrotta", TRUE);
}
else
{
//Stato variabile Tag status diverso
printf ("Tag status diverso: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger", TRUE);
SetTagBit ("Connessione_trigger_interrotta", FALSE);
}
return (0);
} |
Importante Accertarsi di aver scelto il tipo di dati corretto per la variabile nel blocco dati (DB), qualora la variabile da monitorare sia una variabile esterna.
Utilizzando un tipo di dati errato, viene emesso nel messaggio un codice esadecimale che è diverso da "1" e "0".
WinCC Information System fornisce nei seguenti capitoli una panoramica dei codici di stato (i codici sono sommati nell'output).
Lavorare con WinCC > ANSI-C per la creazione di funzioni e azioni > ANSI-C Descrizioni di funzioni > Lists > Tag statuses
Se la variabile da monitorare è una variabile OPC, oltre allo stato della variabile è necessario valutare anche il Quality Code, poiché nelle variabili OPC lo stato significa piuttosto la raggiungibilità della sorgente (server OPC).
Per ulteriori informazioni su questo tema consultare WinCC Information System in "Comunicazione > Diagnostica della comunicazione > Qualità delle variabili".
Il Quality Code è disponibile anche per tutte le altre variabili.
Altre informazioni Il monitoraggio dello stato delle variabili tramite uno Script è possibile solo nel linguaggio ANSI-C. Le istruzioni per il monitoraggio di stato delle variabili senza script sono illustrate nel seguente capitolo del WinCC Information System.
Comunicazione > Diagnostica della comunicazione > Qualità delle variabili > Monitoraggio di stato tramite lo stato delle variabili
Un'ulteriore descrizione per il monitoraggio dello stato tramite azioni globali è contenuta in WinCC Information System, nel seguente capitolo:
Comunicazione > Diagnostica della comunicazione > Qualità delle variabili > Monitoraggio di stato tramite le azioni globali
Ricerca
Gusto della connessione, valutazione di stato, stati delle variabili, 493522, 416354, 21382197
|