Tipo di articolo: FAQ, ID articolo: 12267138, Data articolo: 15/02/2003
(0)
Valuta

Invio a WinCC dei valori ausiliari di processo come testo

  • Articolo
  • Riguarda prodotto/i


DOMANDA
In WinCC una variabile di testo a 8 bit viene collegata ad un campo di I/O. Il valore corrispondente nell'AS deve essere rappresentato nello AlarmLogging Control come testo ed inviato con lo SFB 35. Perché in queste operazioni vengono tagliati gli ultimi 2 byte?

RISPOSTA
Una variabile di testo progettata dall'utente viene descritta nell'AS come stringa S7. Questo tipo di dato è dotato di un header con le dimensioni di 2 byte, che non viene rappresentato.

I valori ausiliari relativi ad una segnalazione non sono del tipo "Stringa S7", bensì array del tipo CHAR. L'AS invia poi i dati come il valore addizionale a partire dall'indirizzo di inizio assegnato. Se questo indirizzo viene posto all'inizio della variabile di testo citata, in AlarmLogging Control compare il testo, header compreso e per evitare questo l'indirizzo d'inizio deve essere aumentato di 2.

Esempio
Nel Tag Manager è progettata la variabile stringa "varOtto" con indirizzo DB10.DBB16. Se si sovrascrive questa variabile con il testo "anna" allora nell'AS a partire da DB10.DBB16 c'è :
"0A 04 a n n a". Se l'SFB35/33 viene alimentato con il parametro SD_n = DB10.DBB16 CHAR 4, questo, all'arrivo di una segnalazione, trasmette l'header ed i due caratteri che seguono, cioè:
"0A 04 a n"
. Per visualizzare correttamente il valore ausiliario, qui occorre fornire SD_n = DB10.DBB18 CHAR 4.

Figura 1: Variabile "varOtto" nel Tag Manager di WinCC, nel blocco dati STEP 7 e nella tabella delle variabili ( 244 KB )  

Ricerca
Progettazione delle segnalazioni, valore ausiliario della segnalazione