Frank681 Inserito: 19 aprile 2016 Segnala Share Inserito: 19 aprile 2016 Salve vorrei fare un FB per gestire un mescolatore che poi ad un tempo impostabile mi inverta la marcia , questo continuamente , usando un inverter devo mettere anche un tempo di pausa per far si che la rampa di arresto sia completa altrimenti non posso partire nella'altra direzione. Qualche consiglio , sto usando per provare due temporizzatori al frnte di discesa del primo ( marcia ) volevo invertire i due bit ma mi sono incartato. Stavo provando a farlo in AWL, magari potrei in SCL ma non mi trovo nell'utilizzo dei temporizzatori in SCL, buttatemi un ancora che poi parto. Grazie in anticipo Link al commento Condividi su altri siti More sharing options...
Blackice Inserita: 19 aprile 2016 Segnala Share Inserita: 19 aprile 2016 Vedi questo esempio(fatto con microwin in AWL) : trovi i timer di lavoro T_FWD e T_REV tarati a 600(scala 0,1s) e i ritardi di inversione 50(0,1),relè di marcia M10.0 e ingresso di DRIVE OK(chiuso con drive OK). Link al commento Condividi su altri siti More sharing options...
DesmoGiec Inserita: 20 aprile 2016 Segnala Share Inserita: 20 aprile 2016 // Non ho tenuto conto di eventuali feedback di posizionamento non sapendo se li hai a disposizione. // Sicchè, al primo avvio del plc, di default il primo ciclo sarà nel senso di avanti UN "PRIMA SCANSIONE ESEGUITA" S "FWD STATUS" // Al cadere di uno dei due temporizzatori (al fronte negativo), avvio il temporizzatore che mi farà da pausa tra le inversioni // #PAUSA_SU_INVERSIONE sarà una variabile nelle IN dell'interfaccia (s5time) U( U "TIMER: FWD ON" O "TIMER: FWD OFF" ) FN "NE1" L #PAUSA_SU_INVERSIONE SV "PAUSA" U "PAUSA" = "PAUSA ATTIVA" // A timer rwd disattivo e memoria di avanti, se non ho la pausa in corso avvio il timer di avanti // #DURATA_CICLO sarà una variabile nelle IN dell'interfaccia (s5time) UN "TIMER: FWD OFF" U "FWD STATUS" UN "PAUSA ATTIVA" L #DURATA_CICLO SV "FWD ON" // All'attivazione del timer avanti, setto il successivo ciclo di indietro e resetto l'avanti (frontato) U "TIMER: FWD ON" FP "PE1" S "RWD STATUS" R "FWD STATUS" // A timer fwd disattivo e memoria di indietro, se non ho la pausa in corso avvio il timer di indietro // #DURATA_CICLO sarà una variabile nelle IN dell'interfaccia (s5time) UN "TIMER: FWD ON" U "RWD STATUS" UN "PAUSA ATTIVA" L #DURATA_CICLO SV "FWD OFF" // All'attivazione del timer indietro, setto il successivo ciclo di avanti e resetto l'indietro (frontato) U "TIMER: FWD OFF" FP "PE2" S "FWD STATUS" R "RWD STATUS" // I #FWD e #RWD saranno nei campi OUT nell'interfaccia del blocco U "FWD ON" = #FWD U "FWD OFF" = #RWD // Imposto la prima scansione eseguita in modo da non forzare sempre e comunque il ciclo avanti nelle prime righe di programma SET S "PRIMA SCANSIONE ESEGUITA" Probabilmente grossolano e non proprio pulito, non avendo esempi pronti e avendo poco tempo a lavoro è la soluzione più immediata che mi è venuta in mente. Ciao! Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 21 aprile 2016 Autore Segnala Share Inserita: 21 aprile 2016 Scusate Mi sto perdendo in un bicchiere acqua.. Devo invertire lo stato di 2 bit out di un FB , FWD e RWD , quando va via il comado all'inverter e ho la risposta di inverter fermo , ho provato ma mi incasaino.. UN #CMD_INV = L 5.0 U L 5.0 U #INV_F U( U #INV_0_REF BLD 100 FP #APP4 ) R #INV_F S #INV_R U L 5.0 U #INV_R U( U #INV_0_REF BLD 100 FP #APP5 ) R #INV_R S #INV_F convertito da kop Aiuto , forse mi dimentico dei salti ? Link al commento Condividi su altri siti More sharing options...
attiliovolpe Inserita: 22 aprile 2016 Segnala Share Inserita: 22 aprile 2016 Posteresti anche il kop? Grazie Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 25 aprile 2016 Segnala Share Inserita: 25 aprile 2016 Quote usando un inverter devo mettere anche un tempo di pausa per far si che la rampa di arresto sia completa altrimenti non posso partire nella'altra direzione. Se hai un inverter non serve nessuna pausa, togli pure il comando F e dai subito il comando R, l'inverter farà la rampa di decelerazione fino a 0Hz e successivamente l'accelerazione nell'altro senso di marcia. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Mamma mia quante complicazioni inutili. Prova così: U CMD_INV FN Mxxx X INV_F = INV_F Ogni volta che "CMD_INV" va basso, "INV_F" cambia di stato. Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Scusa batta ma con la X sotto al fronte di discesa cosa intendi...? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 X è un OR Esclusivo (XOR). Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Mai utilizzata come istruzione...bene a sapersi, ma scusa ancora una domanda batta, non ci vorrebbe un salto SPBN sotto al fronte di discesa in modo da scansionare l'assegnazione solo con il fronte? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 No. Prova. Vedrai che funziona. Partiamo con il bit di uscita OFF e il fronte di salita OFF. Il risultato del XOR è FALSE, quindi l'uscita rimane OFF. Poi arriva il fronte. A questo punto ti ritrovi con: Fronte ON e uscita OFF. Il risultato del XOR è TRUE e l'uscita diventa ON. Alla successiva scansione il fronte è OFF e l'uscita ON. Il risultato del XOR è TRUE e l'uscita rimane ON. Al successivo fronte ti ritrovi con fronte ON e uscita ON. Il risultato del XOR è FALSE e l'uscita viene riportata OFF. È il modo più semplice e più razionale per fare un flip-flop. Se vuoi farlo in KOP, che non supporta l'istruzione XOR, puoi scrivere così: Fronte Out Out -----| |------|/|------+------( ) | | Fronte Out | -----|/|------| |------+ Link al commento Condividi su altri siti More sharing options...
Operational Amplifier Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Perfetto funziona...effettivamente guardando l' RLC è più chiaro l'operazione XOR viene effettuata tra il fronte (in questo caso di discesa ma nulla vieta che sia di salita) ed il flag d' assegnazione. Grazie batta per il chiarimento. Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Quote U CMD_INV FN Mxxx X INV_F = INV_F Chapeau. Semplice fine ed elegante. Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 27 aprile 2016 Autore Segnala Share Inserita: 27 aprile 2016 Grazie Mille Ho risonto mi ero dimenticato di mettere una memoria temporanea che inbisca l'inversione se giaà fatta ,comunque provo sicuramente e vedo di pilotare anche R Grazie di nuovo Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 aprile 2016 Segnala Share Inserita: 28 aprile 2016 Quote Chapeau. Grazie, ma per così poco? Quote Ho risonto mi ero dimenticato di mettere una memoria temporanea che inbisca l'inversione se giaà fatta Vuoi dirmi che stai usando il codice del tuo post del 21 aprile? (nota per i moderatori: una volta c'era il numero del post. Perché è stato eliminato?) Se ti piace complicarti inutilmente la vita, liberissimo di farlo, ma spiegami cosa c'è che non ti va bene nel codice che ti ho suggerito io. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 28 aprile 2016 Segnala Share Inserita: 28 aprile 2016 Quote (nota per i moderatori: una volta c'era il numero del post. Perché è stato eliminato?) E' la piattaforma sofftware della nuova versione che non ce lo ha più. Sembra quasi che vogliano imitare MS: fanno le nuove versioni che funzionano peggio delle vecchie, solo che qui si è obbligati all'aggiornamento. Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 28 aprile 2016 Autore Segnala Share Inserita: 28 aprile 2016 Ciao Batta Si in effetti il codice e' qullo del 21 in piu una mem temporanea Il codice che hai suggerito va benissimo , devo solo pilotare anche R in inversione a F . Infatti sto gia modificando il programma. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 aprile 2016 Segnala Share Inserita: 28 aprile 2016 U CMD_INV FN Mxxx X INV_F = INV_F NOT = INV_R Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 28 aprile 2016 Autore Segnala Share Inserita: 28 aprile 2016 Ciao Batta infatti sono le 2 righe che ho aggiunto 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