Vai al contenuto
PLC Forum


Aggiornamento variabili PLC HMI


STEU

Messaggi consigliati

Buongiorno

 

ho la seguente configurazione in macchina

PLC ET200S

Tia portal 17

PC con runtime Tia 17

Il problema è l'aggiornamento delle variabili, in manuale sul touch screen ho i pulsanti per i movimenti manuali della macchina, i quali alzano un bit che poi viene utilizzato dal programma del PLC.

Il problema è che sembra che il bit nel PLC venga aggiornato a metà scansione , cioe ad inizio OB1 il bit settato dall' HMI sia a 0 poi durante la scansione vada a 1.

Per essere sicuro di questo ho messo ad inizio OBI il seguente segmento (qui in AWL ma in KOP nel PLC) per la verifica di quanto detto

DB21.DBX7.4 Bit settato dall'HMI i merker sono delle trappole che ho inserito io per la verifica

 

U DB21.DBX7.4

S M50.0

 

all'ultimo segmento dell'OB1

U DB21.DBX7.4

UN M50.0

S M50.1

 

in mezzo ci sono tutte le chiamate ai blocchi e quindi anche al blocco dei manuali.

E' chiaro che se il Bit DB21.DBX7.4 andasse subito a 1 setterebbe il bit M 50.0 e quindi il Bit 50.1 non dovrebbe mai andare a 1.

Invece il bit M50.1 va a 1, quindi vuol dire che ad inizio scansione il bit db21.dbx7.4 è a 0 mentre è a 1 alla fine.

Sembra che la comunicazione PC PLC sia "asincrona" , che voi sappiate nelle proprietà di wincc o della CPU c'è qualche proprietà che sia interressata alla comunicazione oppure c'e il sistema per avere una comunicazione corretta.

Inoltre il DB in cui va a scrivere il PLC non è ottimizzato

 

Link al commento
Condividi su altri siti


Il problema che menzioni può succedere nella configurazione scada + PLC, soprattutto se lo scada comunica con tanti PLC. Non è possibile stabilire quando lo scada andrà a scrivere sul PLC. Per questo di solito lo scada punta su un DB, il PLC in un punto stabilito copia il DB scritto dallo scada su un altro DB e poi resetta quello dello scada e poi il PLC usa quello copiato in modo che così è uguale per tutto il programma. E' lo stesso concetto della copia degli input sui PLC che aggiornano gli I/O a tempo al posto che all'inizio ciclo.

Link al commento
Condividi su altri siti

Mister X

Tutte le variabili si aggiornano a 100 msec

84paolo

Non è uno scada ma un runtime di winncc advanced runtime,

Comunque mi sembra proprio strano che comunichi nel mezzo dell'elaborazione del programma, dovrebbe comunicare tra l'aggiornamento delle uscite e degli ingressi (IPI e IPU)

La cosa mi lascia alquanto perplesso

Link al commento
Condividi su altri siti

buongiorno, convengo con @84paolo, essendo il wincc che va a scrivere su di un Db, non lo si puo paragonare all'immagine degli IO che fa il PLC quella è un altra cosa. il pannello operatore puo scrivere in qualsiasi momento del tempo ciclo. sta a te prendere questa variabile, tenertela in una memoria e resettarla. come un hand shake. dopodichè in tutto il software dove ti serve utilizzi la memoria di appoggio e non la tag che ha scritto l'hmi cosi sei sicuro che per tutto il ciclo, fino al ritorno su quel rung, avrai il medesimo valore.

Link al commento
Condividi su altri siti

Grazie

con le istruzioni scritte ad inizio OB1 e a fine OB1 mi ero accorto che HMI scrive nella memoria quando ne ha voglia, La mia domanda era se c'è qualche settaggio nelle proprieta della CPU e del runtime che faccia in modo che l'aggiornamento sia simile a quello degli ingressi e delle uscite.

Link al commento
Condividi su altri siti

Non ho mai controllato se l'aggiornamento dei tag è sincrono al ciclo macchina, ma comunque a me non risulta ci siano delle impostazioni per renderlo tale. L'unica soluzione potrebbe essere la copia della DB dei comandi fatta a livello di codice a fine esecuzione o inizio esecuzione programma.

 

 

 

Link al commento
Condividi su altri siti

Io di solito a inizio OB1 prendo le variabili di input puntate dai tag e le copio in quelle di lavoro da usare poi nel codice PLC, faccio la stessa cosa al contrario a fine OB1 per le variabili PLC da copiare nei tag HMI. A scanso di equivoci ho sempre dato per scontato che la comunicazione plc-hmi sia asincrona rispetto alla esecuzione del codice PLC.

Link al commento
Condividi su altri siti

Salvo rare eccezioni che in questo momento non me ne vengono in mente non capisco dove stà il problema per fare tutto sto lavoro di duplicazione e copia delle variabili. 

Link al commento
Condividi su altri siti

Nessun problema, ho comunque optato per un'altra soluzione,che adotto da tanto tempo , questo era una modifica di una macchina di un po' di tempo fa.

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