cliche1995 Inserito: 28 marzo 2014 Segnala Inserito: 28 marzo 2014 Buon giorno a tutti, sono nuovo nel forum. studiandomi un po l's7 200 ho incontrato una difficoltà, adesso spiego tutto. io riesco a usare più o meno i puntatori e a puntare in modo sequenziale, ma se io volessi puntare per esempio ad un elemento qualsiasi dell'array senza ogni volta fare l'incremento. come si può fare? vi ringrazio già da adesso
Livio Orsini Inserita: 28 marzo 2014 Segnala Inserita: 28 marzo 2014 Se conosci l'indirizzo del primo elemento del vettore, basta aggiungere a questo lo spiazzamento dell'elemento interssato. Ad esempio immagina un vettore di 200 bytes che inizi dalla locazione 540. Se vuoi puntare all'elemto 75 basta somamre 74 a 540 ==> 614
cliche1995 Inserita: 28 marzo 2014 Autore Segnala Inserita: 28 marzo 2014 ah quindi se io ho un vettore che inizia dalla vb100 e voglio puntare per esempio alla vb130 basta che faccio vb100+vb130? se è cosi, il risultato in uscita dove lo trasferisco?
cliche1995 Inserita: 28 marzo 2014 Autore Segnala Inserita: 28 marzo 2014 (modificato) mi è partito questo messaggio scusate non riuscivo a toglierlo Modificato: 28 marzo 2014 da cliche1995
Livio Orsini Inserita: 28 marzo 2014 Segnala Inserita: 28 marzo 2014 Scusa se sai già che l'elemento interessato è alla VB130 hai gia l'indirizzo da mettere nel puntatore.
cliche1995 Inserita: 28 marzo 2014 Autore Segnala Inserita: 28 marzo 2014 ah e se invece non sai cosa c'è nell'elemento che vuoi puntare, lo punti alla "ceca"? scusa signor Livio ma essendo autodidatta faccio un po fatica
drugo66 Inserita: 28 marzo 2014 Segnala Inserita: 28 marzo 2014 ah quindi se io ho un vettore che inizia dalla vb100 e voglio puntare per esempio alla vb130 basta che faccio vb100+vb130? diciamo che in VB10 hai il tuo puntatore alla VB100 VB10 = &VB100 se vuoi andare alla VB130 VB10 = VB10 + 30 Facciamo un esempio: Immagina di avere un'area di memoria dalla VB100 alla VB999 dove risiedono tutti i parametri utente, divisi per formato, di 100 in 100 (dalla VB100 alla VB199 = formato 1 e così via); dalla VB1000 alla VB1099 invece c'è l'area di memoria dei parametri che usi nel ladder (i parametri, per capirci, sono i valori dei timer, contatori, velocità, collaudi e ... non mi viene nient'altro ); quando l'utente cambia formato, il ladder deve preoccuparsi di caricare da VB1000 a VB1099 con i parametri del formato corretto. Come lo fai ? Se non vuoi impazzire a scrivere un ladder lungo, lo fai in pochi segmenti con i puntatori ...
cliche1995 Inserita: 28 marzo 2014 Autore Segnala Inserita: 28 marzo 2014 ti ringrazio, molto gentili. questo forum è perfetto per un principiante
walterword Inserita: 31 marzo 2014 Segnala Inserita: 31 marzo 2014 se punti alla cieca devi fare un ciclo for e cercare quello che ti interessa. Se predispone bene l'area V puoi implementare tabelle , per esempio una colonna prende da VB100 a VB180 , un'altra da VB200 a VB280 e cosi via In questo caso devi avere un puntatore per ogni "colonna" della tabella virtuale .Dico virtuale perche le strutture dati con S7-200 non erano esplicite . Per cui quando incrementi il puntatore della prima colonna incrementi anche tutti gli altri delle altre colonne . Tra l'altro in microwin l'uso dei puntatore usava identificatori come il C ....' &' e ' * ' per caricare un indirizzo e per deindirizzare
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