Vai al contenuto
PLC Forum


Pulsante on/off


Messaggi consigliati

Matteo Grasso
Inserito:

Scusate se sono abbastanza un novellino sui plc ma mi chiedevo se esistesse il modo grazie al linguaggio ladder di creare un pulsante on/off avendo solo come input un pulsante normalmente aperto 


Inserita:

si certo! quello di cui parli è piu comunemente chiamato Toggle in elettronica. In Step7 lo puoi programmare usando un pulsante configurato fronte di salita e una medesima uscita set/reset

                          Q0.0

----IPI----------------I/I------------(M0.0S)

                           Q0.0

                     ------I I------------(M0.0R)

 

 

 

--IM0.0I-----------------------------(Q0.0)

 

Gioca tutto sui tempi di ciclo della CPU e della velocità di azione del fronte di salita.

 

Se hai dubbi chiedi 😉

Inserita:

Questo è il classico esercizio per insegnare a capire come funziona la logica del plc, magari era meglio cercare di aiutarlo a capire e risolvere il problema piuttosto che buttare giù la soluzione.

Matteo Grasso
Inserita:
10 ore fa, TheOutSideR ha scritto:

si certo! quello di cui parli è piu comunemente chiamato Toggle in elettronica. In Step7 lo puoi programmare usando un pulsante configurato fronte di salita e una medesima uscita set/reset

                          Q0.0

----IPI----------------I/I------------(M0.0S)

                           Q0.0

                     ------I I------------(M0.0R)

 

 

 

--IM0.0I-----------------------------(Q0.0)

 

Gioca tutto sui tempi di ciclo della CPU e della velocità di azione del fronte di salita.

 

Se hai dubbi chiedi 😉

Grazie di tutto ma visto che, come ti ho detto, sono un novellino, cosa sarebbero le variabili m?

Inserita:

Il modo corretto per iniziare a programmare un plc sarebbe quello di leggere il manuale prima; capire le variabili e altro (vedi timer e altre funzione booleane).

Iniziare poi pian piano a fare le cose più semplici per poi arrivare a tutto il resto.

 

Sembra come mai guidato, salgo in automobile accendo e metto la marcia per poi chiedere cosa sono i pedali...

 

M è una variabile Merker, un bit interno alla CPU

Inserita:
13 ore fa, TheOutSideR ha scritto:

si certo! quello di cui parli è piu comunemente chiamato Toggle in elettronica. In Step7 lo puoi programmare usando un pulsante configurato fronte di salita e una medesima uscita set/reset

                          Q0.0

----IPI----------------I/I------------(M0.0S)

                           Q0.0

                     ------I I------------(M0.0R)

 

 

 

--IM0.0I-----------------------------(Q0.0)

 

Gioca tutto sui tempi di ciclo della CPU e della velocità di azione del fronte di salita.

 

Se hai dubbi chiedi 😉

 

Non mi piace per niente con i Set/Reset e la lettura dell'area Q...preferisco funzioni più riciclabili, ma alla fine son gusti

Inserita:

La metodologia descritta sopra è un po' contorta e si appoggia a una memoria interna ulteriore che considera lo stato passato del sistema, nel caso descritto un uscita,

 

per me l'inversione di un bit derivante da un unico ingresso non è altro che un contatore che conta solo in due stati 0 e 1,

l'ingresso percepito come fronte di salita è l'ingresso che fa incrementare il contatore da 0 a 1 quando precedentemente è a 0

e da 1 a 0 quando precedentemente il contatore è a 1, in pratica un'alternanza,

in Siemens un'istruzione diretta di alternanza o in inglese "toggle" non esiste, altri PLC hanno l'istruzione diretta ALT "operando",

molto più comodo perchè basta porre in ingresso all'istruzione ALT la condizione abilitante e si fa l'inversione del bit

Matteo Grasso
Inserita:

Ho risolto utilizzando la funzione set/reset avendo due pulsanti normalmente aperto, grazie per l’aiuto 

Inserita:

Usare un contatore per fare un flip flop mi sembra eccessivo.

1 ora fa, leleviola ha scritto:

per me l'inversione di un bit derivante da un unico ingresso non è altro che un contatore che conta solo in due stati 0 e 1

alla fine è uguale, ma per contare 2 stati basta un bit.

Inserita:

Ci sono molti modi diversi per fare una inversione..questo è uno

 

Toggle1.png.88b704becc203c5e5aa801981e24a4d9.png

 

..e questo un altro:

 

Toggle2.png.24f985bafea769eb4ae0a8138cc0bd56.png

ma ce ne sono ancora. Personalmente scarto sia metodi con contatori che, peggio ancora, con timers.

Inserita:

c'era già una discussione chilometrica riguardo questa funzione. Forse meglio guardare quella invece che scriverla nuovamente

 

Inserita:

Ci mancherebbe. serve a chi ha aperto la discussione per leggere tutte le opportunità che ci sono

 

Inserita:
16 ore fa, acquaman ha scritto:

Questo è il classico esercizio per insegnare a capire come funziona la logica del plc, magari era meglio cercare di aiutarlo a capire e risolvere il problema piuttosto che buttare giù la soluzione.

Certo hai perfettamente ragione,ma dato che appunto l'utente è un inesperto avrei lasciato poi a lui le domande; anche perchè bisogna far molte prove prima di afferrare i concetti di memorie a livello pratico (specialmente se non hai nessuno che ti segue).

 

12 ore fa, Matteo Grasso ha scritto:

Grazie di tutto ma visto che, come ti ho detto, sono un novellino, cosa sarebbero le variabili m?

Ti consiglio di leggerti per un po' qualche libro o documento sul web che spieghino le nozioni base della programmazione. Il forum è pieno di informazioni. Sebbene sia difficile metterle in ordine, con un po' di pazienza capirai. Nessuno vieta di porre domande, ma secondo me dovresti avere dei dubbi più mirati (cioè informazioni che non trovi da nessua parte). Buonaserata

Inserita:

buondì

io se mi serve scrivo così :

 

//L'ingresso "E0.0" è il comando da pulsante
//IL merker "M40.0" è il comando modo flip-flop
      U     E      0.0
      FP    M     40.1
      X     M     40.0
      =     M     40.0
___________________

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...