Hermes7 Inserito: 26 febbraio 2010 Segnala Inserito: 26 febbraio 2010 Salve,ho creato tre DB con 48 Record di interi.Vorrei poter leggere e scrivere con move o qualsiasi altra funzione, tramite KOP, tramite indici.Per esempio: DB (indice_DB).DBW[contatore]Sapreste dirmi come?!?!?!.Grazie
TravelMen Inserita: 26 febbraio 2010 Segnala Inserita: 26 febbraio 2010 Tramite KOP non ce la puoi fare, non un AB che fai tutto con LD.Mi sa che devi passare ad awl e li trovi di tutto da AR1 hai puntatori in formato DWORD.
pelino Inserita: 27 febbraio 2010 Segnala Inserita: 27 febbraio 2010 Come esempio, in AWL, quando voglio puntare ed aggiornare un byte di un DB, uso queste istruzioni:L 10T P#PuntatoreAUF DB30LAR1 P#DBX0.0 // Inizio della mia areaL #Puntatore // Numero DBBSLD3+AR1L B#16#0 // Carico il Valore da scrivereT DBB [AR1,P#.#] // Lo trasferisco nel DBB da aggiornareIn pratica scrivo 0 nel Byte 10 della DB30, il puntatore è il DBB della DB.Se avessi indicato come inizio della mia area LAR1 P#DBX250.0 avrei scritto 0 nel DBB 260Magari ci sono istruzioni più eleganti , io utilizzo questo sistema.
TravelMen Inserita: 1 marzo 2010 Segnala Inserita: 1 marzo 2010 Ciao pelino, il tuo sistema è quello che utilizzo anche io, ed è quello che meglio si presta a "giocare" con i puntatori, però ho una domanda:forse mi manca qualche info sui puntatori, mi puoi spiegare :L 10 T P#Puntatore ho mai visto tale operazione. Io aggiungerei in più che l'istruzione T DBB [AR1,P#.#] // Lo trasferisco nel DBB da aggiornare dove P#x.x con x = 0 ovvero P#0.0, la tua istruzione punta al byte del calcolo, se invece vuoi puntare al byte successivo, senza ricalcolare il tutto ti basta fare P#1.0, e vuoi puoi anche puntare hai singoli bit del tuo byte semplicemente con P#0.2 punti al terzo bit del tuo byte. = DBX [AR1,P#0.2] // Punto al terzo bit T DBB [AR1,P#1.0] // Punto al byte successivo.
aude Inserita: 1 marzo 2010 Segnala Inserita: 1 marzo 2010 (modificato) Per accedere a byte/word/double word byte all'interno di DB indicizzate , senza usare i puntatori si può utilizzare anche questo sistema : Auf DB (indice_DB)L DBW[contatore]'indice_DB' e 'contatore' devono essere delle word.Se cerchi nel . online si Step7 "Indirizzamento indiretto di memoria" troverai una esaustiva trattazione sui vari tipi di puntamento disponibili con siemens.Se interessa posso postare un file pdf dove ho raccolto le pagine del . relative ai puntatori. Una piccola raccolta che consulto in caso di dubbi. Modificato: 1 marzo 2010 da aude
pelino Inserita: 1 marzo 2010 Segnala Inserita: 1 marzo 2010 Scusate ma l'istruzione P#Puntatore è assurda e frutto di un errore di battitura ( scusa TravelMan )è semplicemente:L 10T #Puntatoreaude se vuoi postare.......Tutto è utile
TravelMen Inserita: 1 marzo 2010 Segnala Inserita: 1 marzo 2010 Non ti preoccupare pelino, non devi chiedere scusa.Siamo qua per confrontare le nostre idee e migliorare la nostra conoscenza.
aude Inserita: 1 marzo 2010 Segnala Inserita: 1 marzo 2010 In allegato la raccolta di alcune pagine del . in linea di step 7 relativamente alle diverse modalità di puntamento alle aree di memoria.Le ho unite semplicemnete per facilità di utilizzo nel lavoro quotidiano. Spero possano essere utili.
pelino Inserita: 2 marzo 2010 Segnala Inserita: 2 marzo 2010 Grazie aude, ho scaricato il tuo file, mi sarà molto utile.( scusa TravelMan ) pensa ho persino sbagliato....................a digitare il tuo nome utente ( TravelMen ) non era propio giornata.Ciao a tutti
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