tempesta87 Inserito: 14 giugno 2015 Segnala Inserito: 14 giugno 2015 Salve ragazzi, mi piacerebbe confrontarmi con qualcuno di Voi che abbia più esperienza di me con il PLC S7-1200. Devo realizzare una routine per un mio cliente, ma sto muovendo adesso i primi passi "veri" con il 1200. L'operazione consiste in quanto segue: Al richiamo dell'FC apposito, immediatamente vengono attivate due uscite del PLC e un TON che "conta" x secondi, allo scadere del tempo x, le due uscite vengono resettate e immediatamente attivate altre due uscite e un altro TON che "conta" y secondi, allo scadere del tempo y, le due uscite vengono resettate e il ciclo si ripete per 5 volte (immagino di contare utilizzando un CTU), interrompendosi al quinto tempo x Più che altro vorrei sapere come lo realizzereste Voi in un ottica di "risparmio" di operazioni e tempo di ciclo del PLC, giusto per farmi un'idea di come programmare intelligentemente. Aspetto Vostro gentile riscontro, Buon fine settimana a tutti. Paolo.
step-80 Inserita: 14 giugno 2015 Segnala Inserita: 14 giugno 2015 (modificato) Ciao, potresti usare dei merker per memorizzare i passi programma(non sono strettamente necessari nel tuo caso ma potrebbero servirti per impratichirti). Esempio: dal consenso di start fai un SET di M0.0 Con il contatto chiuso di M0.0 chiudi le prime due uscite,fai un SET di M0.1 ed allo stesso tempo fai partire un TON; Con il contatto chiuso di M0.1 in serie al contatto del TON (cioè allo scadere del temporizzatore) fai : -un RST delle prime due uscite, -un SET delle altre due uscite, -un SET del merker M0.2, -un RST del merker M0.0, -un RST del merker M0.1. Con il contatto chiuso di M0.2 fai partire il secondo TON e fai un SET di M0.3 Con il contatto chiuso di M0.3 in serie al contatto del TON (cioè allo scadere del temporizzatore) fai : Un RST del secondo gruppo di uscite, Un RST del merker M0.2, un RST del merker M0.3, un SET del merker M0.4. Col fronte di salita del merker M0.4 incrementi una variabile (basta un byte,ma non sono sicuro che l'istruzione INC accetti un Byte, al limite dovrai 'sprecare' un Intero)di una unità,fai un RST di M0.4 e COMANDI la bobina di M0.5; Col contatto di M0.5 confronti la tua variabile con l'intero 5(nel tuo caso), se minore comandi la bobina di M0.6 che metterai in parallelo al ciclo di start per far ripartire il ciclo; se la variabile è uguale a 5 carichi zero nella variabile. Fine del ciclo. L'ho volutamente allungato, si poteva fare in maniera più semplice ma sono del parere che prima di imparare a semplificarti la vita devi per forza imparare cosa vuol dire complicarsela . A parte gli scherzi, ci saranno delle cose da aggiustare, sono un pò di fretta,per esempio comandare le uscite con i SET e RST non mi piace molto, preferisco usare merker di appoggio...mancherebbe anche un merker di 'ciclo in corso' che ti permetterebbe annullare l'effetto dello start nel caso qualcuno prema mentre il ciclo si sta svolgendo, e poi sicuramente manca dell'altro... Ciao Modificato: 14 giugno 2015 da step-80
step-80 Inserita: 14 giugno 2015 Segnala Inserita: 14 giugno 2015 (modificato) Personalmente comunque preferisco usare il sistema che al posto dello stato di merker utilizza una variabile per memorizzare i vari stati del programma ad esempio se la variabile 'passo' è 0 e premo start carico 5 nella variabile passo; se la variabile passo è 5 alzo le uscite e faccio partire il TON allo scadere del TON carico 10 nella variabile passo e resetto le uscite; se la variabile passo è 10 alzo le altre due uscite e faccio partire l'altro Ton , allo scadere di questo TON carico 15 nella variabile passo, se la variabile passo è 15 abbasso le uscite, incremento il numero ciclo di 1 e controllo che sia minore di 5; se il numero ciclo è minore di 5 carico 5 nella variabile passo(in questo modo il ciclo si ripete), altrimenti carico 0 nella variabile passo, carico 0 nella variabile ciclo e stop. Io preferisco di gran lunga questo sistema, secondo me più chiaro e di facile interpretazione, ma alla fine è questione di scelte e applicazioni.Come vedi all'inizio carico 5 nella variabile solo se la variabile stessa ha valore 0, e questo ti permette di avviare il ciclo solo in condizione di riposo. Spero di non averti fatto più confusione di prima Da quando Batta ha spiegato questa tecnica per bene in un recente post, non sai quanti problemi mi ha risolto, e quindi approfitto per ringraziarlo ancora Modificato: 14 giugno 2015 da step-80
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