Vai al contenuto
PLC Forum


Ripetizione Script non Voluta


Messaggi consigliati

Inserito:

Ho questo problema che uno script viene ripetuto senza che ne sia stata fatta richiesta. Innanzi tutto vi illustro lo scenario:

PLC ET200SP cpu (fam. 1500). HMI Simatic PCpanel con runtime. Il progetto iniziale è stato sviluppato per il TP1200 comfort e poi convertito per runtime PC.

Ambiente di sviluppo TIA portal V13SP1UPD9.

Il progetto del plc prevede che alla fine del ciclo di lavoro viene impostato un bit che attiva nel HMI la stampa del rapporto di lavorazione.

Alla fine della stampa l'HMI invia un comando che fa resettare il bit.

Nel HMI c'è uno script che provvede ad eseguire la stampa in sequenza di alcuni protocolli (con pausa tra uno e l'altro) appositamente progettati per comporre il rapporto completo.

La stampa completa può richiedere diversi minuti.

Lo script viene attivato alla variazione del valore del bit del PLC. All'inizio dello script vi è un controllo per terminare lo script immediatamente in caso di variazione da true a false.

Nel HMI è attivato il Simatic Logon. Il database degli utenti quindi si trova in un server remoto. Si osserva pertanto un ritardo tra il momento in cui l'utente conferma il login ed il momento in cui il server conferma l'avvenuto login. La conferma vene data dalla visualizzazione del nome utente un apposito campo visibile in tutte le pagine del HMI. 

Se un utente esegue il Login e tenta di utilizzare un comando prima che il suo nome compaia nel campo , viene visualizzata una segnalazione di sistema 260034 (che dice appunto che bisogna attendere la connessione dell'utente).

Mi succede che, se questo avviene durante l'esecuzione di questo script (non ho verificato con gli altri), appena concluso lo script viene ripetuto.

Nei casi in cui pur essendoci stato un login l'operatore abbia atteso la comparsa del suo nome prima di effettuare un comando invece il funzionamento è regolare.

 

Qualcuno sa darmi qualche dritta oppure ha già avuto a che fare con questo problema?

A me sembra tanto un baco del runtime..

 

Grazie 


lupusimprobus
Inserita:

Se avvii lo script al variare del valore di una variabile BOOL allore esso verrà avviato sia quando il valore passa da false->true che viceversa quando passa da true->false.

Per ovviare puoi mettere all'inizio dello script un'istruzione IF che esegua le operazioni solo quando la variabile è true ed esca dallo script in caso contrario.

Inserita:

Già Fatto!

Se leggi nella descrizione

"Lo script viene attivato alla variazione del valore del bit del PLC. All'inizio dello script vi è un controllo per terminare lo script immediatamente in caso di variazione da true a false."

Il problema è che normalmente funziona. Solo in occasione della segnalazione come sopra, talvolta viene ripetuto.

Escludo che sia il PLC ad effettuare una nuova variazione da false a true.

 

Grazie

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...