checco88 Inserito: 11 maggio 2007 Segnala Inserito: 11 maggio 2007 Ciao a tutti! sono un ragazzo al 5° anno di un istituto industriale con specializzazione in elettrotecnica e come progetto di esame ho fatto uno studio sul PLC. Ho trovato un piccolo ostacolo nella programmazione effettiva di ques'ultimo. Abbiamo a disposizione 4 pistoni e avrei voluto fare dei cicli semiautomatici con ques'ultimi. Ma ho scoperto che non posso utilizzare più di una volta la solita uscita! Siccome nella mia idea ci sono dei movimenti che si devono ripetere, come faccio se non posso usare più di una volta la solita uscita nello stesso programma? spero di essermi saputo spiegare. Aspetto una vostra risposta con ansia! grazie in anticipo!
susy_gel Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 beh, non è che non puoi usare la stessa uscita + di una volta nel programma. è che per quante volte tu la usi, l'uscita raggiungerà l'ultimo stato in ordine di sequenza di programma alla quale è stata impostata. mi sembra di capire che i cicli semiautomatici di cui parli siano delle sequenze logiche in base a certi input (finecorsa sui pistoni??) e/o tempi che soddisfatti facciano raggiungere determinate posizioni ai pistoni. dovresti quindi usare queste condizioni logiche per muovere i tuoi pistoni e forse potresti usare una (o più) variabili che memorizzino gli stati di ciclo dei pistoni.ciao
BitLogic Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 Si torna aripetere che le uscite fisiche del PLC non si possono duplicare perchè nel ciclo di scanzione quella che prende per buona è l'ultima, che se è nello stato "off" rimane ad "off" e se "on" rimane "on".Devi utilizzare i marker di sistema e poi metterli tutti in "OR" per l'uscita.
dago_ Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 E' possibile programmare più volte la stessa uscita utilizzando le istruzioni Set/Reset ma è una cosa possibilmente da evitare.Meglio se ad ogni risultato, al posto dell' uscita, metti una memoria dell'area M(tipo M0.0,M10.7,ecc...)Alla fine fai un OR di tutte le memorie utlizzate e comandi l' uscita (magari in questo punto inserisci, se presenti, ancora qualche interblocco o sicurezza direttamente in serie all' uscita, cosi che se hai sbagliato qualcosa nella sequenza automatica...ecc,ecc
checco88 Inserita: 11 maggio 2007 Autore Segnala Inserita: 11 maggio 2007 Scusate ma come si fa a memorizzare lo stato dei pistoni? Non è che potrei risolvere i miei problemi utilizzando dei sottoprogrammi richiamandoli con un programma principali?
Luca Bab Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 Se hai i finecorsa , guardi quellise no , dopo un tempo che la bobina e' attivata il pistone e' a finecorsa e dopo un tempo che e' diasattivata e' a riposoLascia stare i sottoprogrammi e segui la via che ti hanno indicato in precedenza ( senza i SET e RESET delle uscite )ciaoLuca
susy_gel Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 l'uso dei sottoprogrammi (blocchi funzionali?) è sicuramente un buon approccio e rende il codice + leggibile sempre se i sottoprogrammi sono pensati come nel tuo caso riutilizzabili per + pistoni al fine di assolvere alla stessa funzione, oppure per macro operazioni. non vedo la necessità di memorizzare lo stato dei pistoni, caso mai quello di memorizzare lo stato di avvanzamento delle operazioni.ciao
Luca Bab Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 Ovviamente una buona suddivisione del programma rende tutto piu' leggibileio sconsigliavo l'uso dei sottoprogrammi ( blocchi) da richiamare o no in base a delle condizioni ( pensa che una M anche con = se attivata all'ultimo ciclo , resta alta anche se non richiami piu' il blocco )poi credo sia sempre meglio non abusarne , una buona suddivisione e' in base alle funzioni , non alle condizioninon vedo la necessità di memorizzare lo stato dei pistonise il pistone 2 deve partire solo quando il pistone 1 e' a finecorsa ???ciaoLuca
Gianmario Pedrani Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 Credo che tu Checco88 non abbia molto le idee chiare sulla programmmazione... e sull'utilizzo di un plc... quello che ti posso consigliare io prima di iniziare afare tutto scaricati qualche cosro che trovi anche su questo sito, dove cerchi di capire come funziona e si programma un plc... poi cerchi di fare un analisi.. del tuo problema ed in fine cerchi di postare qui la tua idea e noi saremmo molto lieti ad iutarti mettendoti sulla strada giusta... Comunque se hai fatto elettronica.. un micro lo avrai visto e programmato???? cerca di usare la stessa logica che hai utilizzato per l'assembler del micro per impostare un programma per la tua tesi....ciao e buono studio...
busanela Inserita: 11 maggio 2007 Segnala Inserita: 11 maggio 2007 Se ho capito bene, checco88 ha difficoltà con il ciclo quadro o, più probabilmente col ciclo L; dalle reminiscenze scolastiche che ormai risalgono ad un quarto di secolo fà (certo che detto così è davvero tanto!!), è indispensabile l'utilizzo dei "segnali bloccanti", quelli cioè che condizionano l'inizio di un'azione al termine della precedente, senza che i cicli interferiscano tra loro.E' per questo che checco88 ha la necessità di memorizzare lo stato dei pistoni: la memoria del ciclo di partenza (es. M1) è settata dalla condizione iniziale pistone A (es. a1) e pistone B (es. b1)a riposo (M1=a1*b1), lo start lo dà per es. c quindi il pistone B esce per B+=c*M1*b2Negato, di conseguenza A+=b2*M1*a2Negato.Questo ha posto una condizione che si ripete solo finchè M1 è settato; se altri che intervengono in sequenza al primo resettano M1 si sono creati i segnali bloccanti, che bloccano cioè l'evento in mancanza delle necessarie condizioni.Ma ho scoperto che non posso utilizzare più di una volta la solita uscita!Come hanno già accennato, è sufficente anzichè attribuire direttamente un'uscita, attribuire una memoria, poi un'altra memoria ed un'altra ancora così via per tutte le volte che devi abilitare quella uscita; alla fine, in un segmento, effettui il parallelo (l'or appunto) fra tutte le memorie usate per abilitare davvero l'uscita in questione.Vorrei ricordare a tutti che, come ai nostri tempi, la scuola tenta di plasmare le menti facendo assimilare dei concetti che, con un po' di impegno mentale personale, possano applicarsi al campo in cui la scuola stessa cerca di inserire il giovane e, ne sono sicuro, per tutti a quei tempi sembravano cose astruse, insulse ed inutili; solo col tempo si rinsavisce e si comprende, grazie anche all'esperienza, quanto tutto sarebbe stato più semplice se fossero state affrontate con maturità maggiore.Allo stesso modo voglio dire a checco88 di assimilare bene i concetti di base che, anche se possono apparire inutili, hanno sempre e comunque un'applicazione pratica nella vita reale, per es. il ciclo L è il fondamento per la programmazione di un pallettizzatore: questo faciliterà senza dubbio il tuo futuro percorso di programmatore, se lo vorrai intraprendere.
checco88 Inserita: 13 maggio 2007 Autore Segnala Inserita: 13 maggio 2007 Grazie a tutti per i preziosi consigli. Anche se ad essere sincero non ho capito molto di quello che volete dirmi... ma adesso mi impegnerò a imparare meglio la logica el PLC e soprattutto le sue funzioni... GRAZIE DI NUOVO!!!
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