STEU Inserito: 23 maggio 2022 Segnala Share Inserito: 23 maggio 2022 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 More sharing options...
Mister_X_ Inserita: 23 maggio 2022 Segnala Share Inserita: 23 maggio 2022 Nelle variabili hmi mi sembra si possa decidere la frequenza di aggiornamento, a quanto l’hai impostata? Link al commento Condividi su altri siti More sharing options...
84paolo Inserita: 23 maggio 2022 Segnala Share Inserita: 23 maggio 2022 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 More sharing options...
STEU Inserita: 24 maggio 2022 Autore Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
alessandropa Inserita: 24 maggio 2022 Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
STEU Inserita: 24 maggio 2022 Autore Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
pigroplc Inserita: 24 maggio 2022 Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
drn5 Inserita: 24 maggio 2022 Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
acquaman Inserita: 24 maggio 2022 Segnala Share Inserita: 24 maggio 2022 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 More sharing options...
STEU Inserita: 25 maggio 2022 Autore Segnala Share Inserita: 25 maggio 2022 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora