Vai al contenuto
PLC Forum


Sequenza Bit con "Eleganza"


Lucos68

Messaggi consigliati

A volte per ignoranza o per virtuosismo mi trovo davanti a piccoli problemi insormontabili come quello questo:

ad ogni pressione di un solo pulsante le out devono scambiare in 0-1; 1-1; 1-0; 0-0

Io sono riuscito in questo modo che però non mi soddisfa, lo trovo brutto e dispendioso di risorse.

Vorrei sapere se ce n'è uno più semplice ed "elegante".

Sequenza.jpg.e9eb05b60cc0ebd76883dff9e5f9b512.jpg

grazie

Link al commento
Condividi su altri siti


se la sequenza può essere 00 01 10 11 è un semplice contatore.00=0 01=1 10=2 11=3

ti basterebbe sommare 1 sempre ad una variabile e prendere i due bit meno significativi. puoi poi azzerare quando il conteggio arriva a 4 o andare a vanti così. 4 sarà infatti 100, 5 101, 6 110, 7 111

Link al commento
Condividi su altri siti

Grazie Ken, purtroppo la sequenza dovrebbe essere proprio 00 01 11 10
questo perché così facendo entrambi i bit hanno un fronte di salita ogni 4 passi

con la soluzione del contatore invece, il bit meno significativo ha due fronti di salita ogni 4 passi
Considerando un carico/utilizzatore applicato all'uscita assegnata a tale bit, in questo modo ne dimezzerei la durata

 

Link al commento
Condividi su altri siti

Puoi sempre fare un ciclo di 4 passi.
Secondo il passo attivo, abiliti le uscite a piacere.

Link al commento
Condividi su altri siti

  • 2 months later...

Il metodo che risulterà più leggibile è quello di batta.

Mi sono divertito però a fare qualche "esperimento": 

Visto che in pratica tu vuoi fare un codice GRAY a 2 bit ho buttato giù questo listato AWL e funziona, non so però quanto risulti leggibile...

      U     "Pulsante"
      FP    "FP_Pulsante"
      SPBN  _001

// Contatore  8 bit
      L     MB   200
      INC   1
      T     MB   200

// Codice GRAY a 2 bit
_001: X     M    200.0
      X     M    200.1
      =     "Out_A"

      U     M    200.1
      =     "Out_B"

 

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