Vai al contenuto
PLC Forum


FUNZIONE PER ROTAZIONE NUMERI


IlFincoITA

Messaggi consigliati

Ciao a tutti! mi piacerebbe realizzare una funzione per la rotazione di una serie di numeri. In pratica ho il disco di una tavola a 8 posizioni. Verrei che l'operatore mi indicasse il numero della formina che vede davanti alla sua postazione da 1 a 8. Il disco girerà in senso orario. Supponiamo che veda davanti a se la formina 3. Quando preme un pulsante vorrei che in automatico si formi l'ordine dei numeri seguenti: 3, 4, 5, 6, 7, 8, 1, 2

 

Potreste suggerirmi una strada per il raggiungimento di questo scopo. In SCL porebbe essere comodo fare questo tipo di funzioni?

Link al commento
Condividi su altri siti


Risposta generica e spero di essere d'aiuto:

con un shift register da 8 bit con ricircolo (ring counter) che va incrementato ogni volta che si preme il tasto.

con una funzione rilevi la posizione del bit (divizioni fino a zero per es.) quindi il primo elemento della lista.

Con un altro o lo stesso fai il ciclo ed ottieni le altre posizioni.

Link al commento
Condividi su altri siti

altra risposta generica sulla scia di one25 (contatore),

 

usi un contatore settato da 1 a 8 e rilevi costantemente il valore di uscita,

una volta scelta la posizione dall'operatore, usi la funzione While incrementando il contatore fino al valore voluto,

poi usi "normalmente" il contatore per un ciclo intero ...

 

non lo so fare in SCL perchè non conosco il programma,

la funzione While ma anche For penso ci sia

ciao

Link al commento
Condividi su altri siti

IF VarPosizioniTavola<>0 THEN  //attesa inserimento numero 

 IF VarPosizioniTavola>=1 AND VarPosizioniTavola<=8 THEN //verifica inserimento valido

   *INIZIO

   IF PulsanteStart THEN //usare il fronte di salita

     Contatore:=Contatore+1;

       IF Contatore<8 THEN

        JMP *INIZIO;

       ELSE 

        Contatore:=1;

        JMP *INIZIO;

      END_IF;

   END_IF;

 END_IF;

END_IF;

 

Non so se funzioni, non l'ho testato. Io solitamente faccio tutto con i CASE.

   

    

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