Pompeiano79 Inserito: 13 febbraio 2013 Segnala Inserito: 13 febbraio 2013 Un saluto a tutti. In un programma di una macchina che fa collaudo pezzi vengono richiamati valori da una db con dei puntatori , effettua diversi test e ad ognuno va a leggere il suo valore di riferimento: AUF db 60 L DBB [AR1,P#1.1] Ovviamente nel registro AR1 va a caricare diversi valori , io vorrei capire in quale parte di db60 vado a leggere , se esiste un sistema per sapere in un preciso momento dove mi porta il puntatore. Anche se spiegato in maniera un pò agricola spero che mi capiate. Grazie
batta Inserita: 14 febbraio 2013 Segnala Inserita: 14 febbraio 2013 Con Step7, attivando la visualizzazione dello stato (icona con gli occhialini oppure Test --> Controlla o, ancora, Ctrl + F7), in AWL ti appare sulla destra la tabella con visualizzati gli stati. Facendo click col tasto destro sull'ìintestazione delle colonne, appare il menù contestuale con le voci "Mostra" e "Nascondi". Scegli di mostrare "Registro indirizzi 1". Per interpretare il valore che leggi, devi conoscere il formato del registro indirizzi. Per questo, ti rimando alla lettura della guida in linea di Step7. Spero di aver risposto alla tua domanda, perché non è molto chiaro quello che chiedi.
cdc Inserita: 14 febbraio 2013 Segnala Inserita: 14 febbraio 2013 Con l'istruzione L DBB [AR1,P#1.1] non carichi in AR1 ma nell'accumulatore 1, il contenuto del byte (DBB) puntato da AR1 + l'offset (nel tuo caso P#1.1]. In AR1 devi caricare un indirizzo tramite l'istruzione LAR1. Altrimenti senza scomodare AR1, puoi, una volta aperta la DB con AUF, creare un puntatore in una MD e usare questo per caricare i valori che ti servono: AUF DB60 L 2 T MD 10 L DBB [MD10] T MB 20 Con questo codice carichi il valore di DB60.dbb2 in MB20. MD10 è il tuo puntatore. Ciao
batta Inserita: 14 febbraio 2013 Segnala Inserita: 14 febbraio 2013 Con questo codice carichi il valore di DB60.dbb2 in MB20. MD10 è il tuo puntatore. No. Nel tuo esempio, punti a DBX0.2 (che non è un idirizzo valido per leggere un byte), non a DBB2.
cdc Inserita: 15 febbraio 2013 Segnala Inserita: 15 febbraio 2013 Non mi ricordavo più che i puntatori erano espressi a bit. Allora per puntare a dbx2.0 devo caricare 16 in MD10. Sei sicuro che non ti legga ugualmente un byte anche se punti a DBX0.2 (da dbx0.2 a dbx1.1)? Sicuramente è una cosa senza senso, ma secondo me ti permette di farlo comunque. Ciao
batta Inserita: 15 febbraio 2013 Segnala Inserita: 15 febbraio 2013 Sei sicuro che non ti legga ugualmente un byte anche se punti a DBX0.2 (da dbx0.2 a dbx1.1)? Sicuramente è una cosa senza senso, ma secondo me ti permette di farlo comunque. Proverò, ma non credo.
Pompeiano79 Inserita: 22 febbraio 2013 Autore Segnala Inserita: 22 febbraio 2013 Innanzi tutto chiedo scusa per la risposta tardiva a causa dell' influenza. Come sempre i vostri consigli sono preziosi. Facendo come dite voi in awl durante la fase di test del programma in una colonna avevo il valore di ar1 , aggiungevo l' offset ed avevo l' indirizzo della db. Grazie 1000
nunzio.v Inserita: 29 marzo 2013 Segnala Inserita: 29 marzo 2013 buongiorno a tutti,ho una fc che recita L #M_ADX8 //Absolute Addres of Memory to Read ( * 8) (int) LAR1 L #B_IX //Index of Bit to Read, 0 the first element (int) +AR1 U M [AR1,P#0.0] = #B_OUT //Status of Read Bit (bool) qualcuno sa dirmi se è corretta e come posso usarla? grazie in anticipo
nunzio.v Inserita: 29 marzo 2013 Segnala Inserita: 29 marzo 2013 ok scusate ho risolto....devo moltiplicare *8.... c'è anche scritto!!!! ciao
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