Vai al contenuto
PLC Forum


Funzione Toggle In S7


Messaggi consigliati

Inserito:

Salve a tutti,

qualcuno potrebbe fornirmi un esempio con annessa sorgente per la realizzazione di una funzione di toogle da realizzarsi con STEP 7.

La funzione è già stata realizzata, ma mi interessava vedere se qualcuno ne ha implementata una che ottenga lo stesso risultato in un modo più "pulito" da quello che da me realizzato.

In sostanza si tratta di settare un bit Mx.x quando l'ingresso Ex.x viene attivato. Al rilascio dell'ingresso il bit Mx.x rimane ON per ritornare ad OFF la succesiva volta che viene schiacciato l'ingresso Ex.x.

In sostanza si tratta di un divisore per due, però volevo ovviare alla realizzazione della funzione utilizzando contatori o ricorrendo all'uso di one shot se possibile.

Ringrazio tutti quanti anticipatamente per gli eventuali suggerimenti

Augurandovi Buone Feste.


Inserita:

Questa domandina l'ho già letta da qualche parte .... <_< prova a cercare nel Forum .

Inserita:

ciao ciao

ti potrebbe andare bene cosi:

U E 124.0

FP M 200.0

UN M 200.1

S M 200.2

U E 124.0

FP M 200.3

U M 200.1

R M 200.2

U M 200.2

= M 200.1

tu come l'avevi pensata

Inserita:

Ciao, se ti può essere d'aiuto io utilizzo sempre questo...

ciao ciao

// segmento 1

U E 0.0

FP M 0.0

= M 0.1

// segmento 2

U(

O M 0.1

O M 0.2

)

U(

ON M 0.1

ON M 0.2

)

= M 0.2

Inserita:

Un'altra soluzione.

Ecco un copy & paste del codice necessario in IL, così è universale (come molti noteranno, si tratta di variabili Omron):

LD NOT    200.00
OR NOT    000.00
LD    000.00
OR    100.00
AND LD
OUT    100.00
LD    100.00
OR    000.00
LD NOT    000.00
OR    200.00
AND LD
OUT    200.00

000.00 è il pulsante;

100.00 è l'uscita che va a 1 alla prima pressione del pulsante;

200.00 è l'uscita che va a 1 al primo rilascio del pulsante.

Decidi tu se utilizzare per il comando della tua utenza 100.00 (in quel caso 200.00 sarà un merker) oppure 200.00 (100.00 diventa un merker). Il comando al rilascio del pulsante è più "cool".

La logica di cui sopra funziona anche con relè elettromeccanici.

Ciao.

Inserita:

Ecco anche il Ladder, forse è più chiaro:

|                           |              
| 200.00    000.00    100.00|
+---|/|---+---| |---+---O---+
|         |         |       | 
| 000.00  |  100.00 |       | 
+---|/|---+---| |---+       |
|                           |
|                           |
| 100.00    000.00    200.00|
+---| |---+---|/|---+---O---+
|         |         |       |
| 000.00  | 200.00  |       |
+---| |---+---| |---+       |
|                           |

Ciao.

Inserita:

Grazie per la molteplicità di esempi forniti (PLCForum è una vera miniera di informazioni), ho preso il primo suggerimento che mi è capitato, quello di stefano83 (va alla grande), ma non dubito affatto neppure degli altri esempi inviati.

Grazie ancora a tutti

Inserita:

... ciao : normalmente io uso questo

U E1.0 pulsante

FP M0.0

= M0.1

SPBN END

UN M100.0

= M100.0 output

END:

Matteo Montanari
Inserita: (modificato)

                                         
|   E0.0       M0.0      M1.0     
+---| |---+---|/|---+---(S)---+
|                                          
|   E0.0       M1.0      M0.0     
+---|/|---+---| |---+---(S)---+
|                                          
|   E0.0       M0.0      M1.0     
+---| |---+---| |---+---(R)---+
|                                          
|   E0.0       M1.0      M0.0     
+---|/|---+---|/|---+---(R)---+
|                                          

E0.0 ingresso

M0.0 meoria appoggio

M1.0 memoria di Togle

Modificato: da keosmm
  • 4 months later...
Inserita:

Ciao, la sintassi che uso io è la seguente

U "PULSANTE" // (es E0.0)

FP "aux" // (es. M10.0)

SPBN n01

UN "OUT" // (es. M10.1)

= "OUT"

n01: ...

A mio parere è la + "snella" programmando in awl

Inserita:

Qualcuno vuole provare se funziona questo ?

U "Pulsante_1"   // (es E0.0) 
FP "Fronte_1"    // (es. M10.0)
X "Toggle_1"     // (es. M10.1)
= "Toggle_1"

In teoria dovrebbe funzionare, ma ora non lo posso testare.

Inserita:

Argomento gia' ampiamente trattato...

Guarda qua e qua

Per JumpMan

Quel codice funziona ;)

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