Vai al contenuto
PLC Forum


Conversione Numero / Posizione


paolo_plc

Messaggi consigliati

salve, in passato con Siemens S7 ho utilizzato la seguente funzione:

'convertivo' un numero in una posizione di una db (ad esempio 14 corrisponde a dbx1.5 ...)

Non ricordo quale SFC o FC standard utilizzato ... potete aiutarmi?

Grazie

Link al commento
Condividi su altri siti


'convertivo' un numero in una posizione di una db (ad esempio 14 corrisponde a dbx1.5 ...)

Spiegati meglio.

Così non si capisce proprio nulla.

Link al commento
Condividi su altri siti

Mi spiego con un esempio:

DB10.DBW10=14

Desidero conoscere, a partire da DB10.DBX20.0, la posizione del bit corrispondente all'intero contenuto in DB10.DBW10.

Nell'esempio corrisponderà a DB10.DBX21.5.

Grazie

Link al commento
Condividi su altri siti

Ci sono vari modi per fare quello che desideri.

Il modo migliore dipende da cosa dovrai fare dopo.

Per esempio, se questa operazione ti serve per leggere o scrivere lo stato del bit indicato dalla variabile DB10.DBW10 a partire da DB10.DBX20.0, potresti fare come segue:

      LAR1  P#DBX 20.0                  //Carica nel registro indirizzi AR1 l'indirizzo del primo bit
      L     DB10.DBW   10               //Carica il numero del bit interessato
      +AR1                              //e sommalo al registro indirizzi AR1

      AUF   DB    10                    //Apri il DB
      U     DBX [AR1,P#0.0]             //Interroga lo stato del bit con indirizzo AR1
      =     M     10.0
Oppure:
      L     P#DBX 20.0                  //Carica nell'accumulatore l'indirizzo del primo bit
      L     DB10.DBW   10               //Somma il numero del bit indicato dalla variabile
      +D    
      T     #Adr                        //Trasferisci in variabile locale di tipo DINT

      AUF   DB    10                    //Apri il DB
      U     DBX [#Adr]                  //Interroga lo stato del bit con indirizzo "Adr"
      =     M     10.0

Attenzione: se DB10.DBW10 = 14, non punti al bit DBX21.5, ma al bit DBX21.6.

Ci sono anche altre possibilità, ma senza sapere cosa devi fare, difficile indicare la migliore tirando ad indovinare.

Modificato: da batta
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...