paolo_plc Inserito: 24 settembre 2010 Segnala Share Inserito: 24 settembre 2010 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 More sharing options...
batta Inserita: 24 settembre 2010 Segnala Share Inserita: 24 settembre 2010 '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 More sharing options...
paolo_plc Inserita: 24 settembre 2010 Autore Segnala Share Inserita: 24 settembre 2010 Mi spiego con un esempio:DB10.DBW10=14Desidero 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 More sharing options...
batta Inserita: 24 settembre 2010 Segnala Share Inserita: 24 settembre 2010 (modificato) 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.0Attenzione: 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: 24 settembre 2010 da batta Link al commento Condividi su altri siti More sharing options...
paolo_plc Inserita: 1 ottobre 2010 Autore Segnala Share Inserita: 1 ottobre 2010 Scusa il ritardo per la risposta, molto gradita.IL tuo suggerimento è stato risolutivo!Grazie Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora