tonynos Inserito: 15 aprile Segnala Share Inserito: 15 aprile salve, dovrei realizzare una sequenza per avviare 10 motori, sia in accensione che in spegnimento avevo pensato di assegnare a ogni motore un intero (StepSequenza) e far avanzare questo intero con un timer dopo che parte un motore . problema se il motore 4 (per esempio) si ferma si devono fermare anche quelli a monte (5 6 etc..). quindi dovrei dire che se ho un errore nel motore Stepsequenza == N° motore-1 é corretto questo mio modo di impostare la cosa? Secondo problema. L'impianto deve funzionare anche in modalità manuale/manutenzione. attivando un bit (da hmi o fisico con una chiave) si entra in modalità manutenzione: l'operatore, tramite hmi deve essere in grado di accendere e spegnere ogni singolo motore senza spegnere i motori a monte. Se però si torna nella modalità Automatico e un motore è spento allora tutti i motori a monte se devono fermare allo stesso modo se vengono accesi i motori 1 2 e 3, si deve poter avviare la sequenza di avviamento in automatico a partire dal motore 4. sto facendo diverse prove ma non riesco a trovare una soluzione semplice che vada bene per tutte le richieste. io ho sempre lavorato con Ladder ma stavo vendendo di imparare anche GRAPH per questo programma. Grazie in anticipo p.s. I teleruttori dei motori sono dei Tesys Island della S.E. connessi al plc S7 1200 tramite profinet Link al commento Condividi su altri siti More sharing options...
alessandropa Inserita: 15 aprile Segnala Share Inserita: 15 aprile Ciao, innanzitutto tieni separate le due logiche manuale e automatico, dove il manuale avrà tutti i suoi allarmi, poi i consensi, poi i comandi da hmi e infine attiva la variabile di appoggio start_man. Ora fai la stessa cosa con l automatico e ti risulterà alla fine una variabile start_auto solo alla fine metti in parallelo queste due e gestisci l uscita. Così se sei in manuale vince la parte manuale e se sei in auto vince la parte auto. Già così è una bella scremata. Per l incremento della partenza non ho capito bene la logica prova a ridescriverla 37 minuti fa, tonynos ha scritto: se il motore 4 (per esempio) si ferma si devono fermare anche quelli a monte (5 6 etc. Qui non capisco se sono a monte saranno 1-2-3... Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 15 aprile Segnala Share Inserita: 15 aprile Io farei un FC o un FB (meglio) per gestire in modo parametrico l'oggetto motore. A questo FC/FB passi tutte I/O di gestione (termiche, avviamento, stop, ciclo automatico/manuale....) Poi ti fai una sequenza di automatico a cui dai l'avvio (come?) ai 10 richiami del FC/FB di cui sopra... Il manuale (da scegliersi come?) metterà OFF l'ingresso ciclo automatico dei FC/FC di cui sopra.. Il ladder mi senbra il più adatto per questo compito... Link al commento Condividi su altri siti More sharing options...
tonynos Inserita: 15 aprile Autore Segnala Share Inserita: 15 aprile 33 minuti fa, alessandropa ha scritto: Ciao, innanzitutto tieni separate le due logiche manuale e automatico, dove il manuale avrà tutti i suoi allarmi, poi i consensi, poi i comandi da hmi e infine attiva la variabile di appoggio start_man. Ora fai la stessa cosa con l automatico e ti risulterà alla fine una variabile start_auto solo alla fine metti in parallelo queste due e gestisci l uscita. Così se sei in manuale vince la parte manuale e se sei in auto vince la parte auto. Già così è una bella scremata. Per l incremento della partenza non ho capito bene la logica prova a ridescriverla Qui non capisco se sono a monte saranno 1-2-3... ok con la gestione in parallelo di auto/manuale, hai qualche schema di esempio? quindi tu non gestiresti tutto con un contatore intero? Io farei un FB , come consiglia @drn5, che gestisce ogni singolo motore e come ingresso dichiaro oltre a StepSequenza un intero, che indica la sua posizione nella sequenza, se devo modificare o aggiungere un motore mi basterà modificare questo numero. Avete qualche esempio? per la sequenza immagina di far partire 10 nastri, il nastro numero 1 (primo a partire) sarà l'ultimo (lo scarico), poi parte quello appena prima (2) e cosi via. Se si ferma il 4 devo fermare il 5 6 7 etc.. altrimenti si ingolfa il meccanismo. Spero di essere stato chiaro 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