Vai al contenuto
PLC Forum


Esiste quest' istruzione? FB e FC


salernozz

Messaggi consigliati

Buon giovedì, se lo leggete oggi 

Buona giornata, qualunque giorno sia

:thumb_yello:

 

Volevo domandarvi se esistesse un bit che da false passa a true solo al momento di entrata nel blocco e vi rimane fino a quando quel blocco rimane attivo o sono io che lo resetto o setto

 

In sostanza mi occorrerebbe un bit di attesa comando

 

Vi è una funzione apposita o devo crearmi il sistema io? 

Ora sto facendo prove per crearmelo da me, mi è venuta la curiosità, quindi ho voluto domandarvi

 

Grazie mille per il supporto paesani del forum, buon lavoro!

 

 

 

 

 

 

Link al commento
Condividi su altri siti


Non è chiaro quello che chiedi.
Parli di un bit che passa a TRUE quando entri in un blocco, e passa a FALSE quando esci. Poi lo definisci "un bit di attesa comando".
Cerchiamo di riordinare le idee. Prima di tutto, un bit che si comporta come richiedi è facilissimo da fare: lo imposti TRUE nella prima riga del blocco, e lo imposti FALSE nell'ultima riga del blocco.
Però, un simile bit a cosa ti serve? L'unica cosa che potresti farne, è utilizzarlo in una qualche routine che lavora in parallelo per sapere che eri dentro a quel particolare blocco. In trent'anni che programmo plc, non ho mai avuto una simile esigenza.

Ma poi lo chiamo "bit di attesa comando", e qui non si capisce proprio come lo vorresti utilizzare, o come si dovrebbe realmente comportare quel bit.

Link al commento
Condividi su altri siti

In sostanza mi servirebbe un bit di stato iniziale per il blocco di gestione di un raschiatore spala letame1214955593_ScreenHunter62.jpg.649fe461b494cddb3fa1a94a845685d7.jpg

All'inizio, per poter partire gli serve il finecorsa 

La raschiatrice fa avanti e indietro da sola (questo è stato ipotizzato)

Quando torna indietro, e tocca il finecorsa, non deve partire di nuovo

 

ecco perché mi occorreva un bit di stato iniziale, perchè in questo caso quando il raschiatore fa avanti ed indietro, quindi finisce la marcia, poi riparte dato che vede a true nel programma il finecorsa iniziale

 

Link al commento
Condividi su altri siti

40 minuti fa, salernozz scrisse:

ecco perché mi occorreva un bit di stato iniziale, perchè in questo caso quando il raschiatore fa avanti ed indietro, quindi finisce la marcia, poi riparte dato che vede a true nel programma il finecorsa iniziale

Ma non c'entra assolutamente nulla con quanto avevi richiesto: un bit che passa da False a True quando entro nel blocco, e da True a False quando esco dal blocco.

Dunque, tu hai questa raschiatrice che deve fare un solo ciclo avanti/indietro, e la partenza in avanti deve avvenire solo se è indietro.
Ma chi dà il comando alla partenza? Perché, al posto di Set/Reset, non fai una semplice autoritenuta?

Link al commento
Condividi su altri siti

Ho provato ma è la stessa cosa, nel momento che metto l' autoritenuta è tutto ok fino a quando il raschiatore torna indietro. Poi seguendo quella logica che ho scritto, quando torna indietro, riparte

 

Ora provo ad inventarmi qualcosa per disabilitare direttamente il blocco nel momento che tocca una seconda volta il finecorsa iniziale oppure provo a disabilitare quel ramo iniziale del blocco direttamente dentro al blocco

 

Grazie batta

Link al commento
Condividi su altri siti

41 minuti fa, batta scrisse:

Ma chi dà il comando alla partenza?

(so che l' FB vuole il suo DB)

io l' avevo pensata così

1846935045_ScreenHunter66.jpg.e3a497091423f9797cb3b606e24ddad8.jpgFB ruspette

1500029667_ScreenHunter67.jpg.054477d340fa7c2dab4bd905c84956aa.jpgFB ciclo automatico

 

Ora provo anche ad utilizzare memorie al posto di fronti veri e proprio di qua e di la

Link al commento
Condividi su altri siti

Per fargli fare il ciclo una volta sola ti basta memorizzare, per esempio, che è arrivato avanti. Ma come fai poi per farlo ripartire un'altra volta? Non penso tu voglia fare un ciclo una sola volta in tutta la vita! Ci dovranno pur essere delle condizioni per la ripartenza: comando da operatore, timer, programmatore giornaliero/settimanale, divina provvidenza...

 

Inoltre, fai molta attenzione a non richiamare il blocco se non sei in automatico, come nell'esempio. Se fai cadere il bit di automatico quando l'uscita è alta, non elabori più il blocco e non aggiorni più lo stato dell'uscita che, quindi, rimane alta.

 

In altre parole: mi pare tu stia facendo un gran pasticcio.

Modificato: da batta
Link al commento
Condividi su altri siti

Ora faccio qualche prova

 

comunque si, il ciclo autom parte con un ora impostata dall' operatore da pannello

 

Ora però è senza pannello, sono tutte ipotesi

Link al commento
Condividi su altri siti

6 minuti fa, salernozz scrisse:

Ora però è senza pannello, sono tutte ipotesi

Anche se non hai il pannello, puoi ugualmente fare il programma del pannello e farlo girare sul PC in simulazione.
E, anche se non fai il programma per il pannello operatore, il pannello non farà altro che comandare una variabile.
Dichiara questa variabile nel programma PLC, e usala, come se fosse un pulsante di start.

Col comando e con finecorsa indietro (che poi, di questa condizione, sei proprio sicuro? E se si era fermata a metà strada, non ti muovi più?) fai partire il movimento avanti.

Quando arrivi avanti, fai una breve pausa e poi fai partire il movimento indietro.
Quando arrivi sul finecorsa indietro, termini il ciclo. Il ciclo non riparte se non arriva un altro comando di start.
 

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...