Vai al contenuto
PLC Forum


WINCC Flexible Script: Aggiornamento variabili PLC


lupusimprobus

Messaggi consigliati

lupusimprobus

Buongiorno a tutti.
Ho realizzato uno script lato pannello operatore (WinCC Flexible TIA TP900 Comfort) che va a leggere un array di interi (circa un migliaio) per scriverli in un file di testo.
Il ciclo funziona nel modo seguente:

 1 ) Nel programma PLC:

   a ) Scrivo i dati nell'array di interi;

   b ) Setto un bit per avviare lo script sul pannello operatore

 2 ) Nel pannello operatore:

   a ) Il bit che avvia lo script è messo in lettura continua (1 s)

   b ) Al cambio di valore del bit avvio lo script

   c ) Nello script valuto che il bit di comando sia true (per evitare che venga ripetuto lo script anche quanto il bit cambia valore per tornare False)

   d ) eseguo lo script che legge il valore degli interi e li scrive nel file di testo.

 

1) Se imposto la variabile Dati : "Array[1..999] of INT" non in lettura continua ovviamente il pannello operatore non andrà mai a leggere i valori dal PLC ed otterrò tutti ZERO.

2) Se la imposto in lettura continua (1 s) devo attendere più di un secondo dopo aver scritto i dati all'interno del DB del PLC prima di settare il bit di avvio dello script, per essere sicuro che il pannello abbia i dati aggiornati da scrivere.

 

Con la versione 2) lo script funziona correttamente ma trovo poco efficiente mantenere sempre attiva la lettura di tutto l'array ogni secondo anche quando il ciclo non lo richiede.

E' possibile aggiornare l'array direttamente dallo script in modo da andare a leggere i dati solo quando serve?

In alternativa potrebbe essere valido settare l'array con aggiornamento "su richiesta" e richiamare la funzione "Aggiorna variabile" solo al cambio di valore del bit che comanda l'avvio dello script?

 

Grazie per ogni suggerimento.

Buona giornata a tutti, Valerio.

Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...