hb72 Inserito: 18 aprile 2016 Segnala Inserito: 18 aprile 2016 Salve a tutti, avrei necessità di eseguire un trasferimento dati ciclicamente (da indirizzo 0 a 1000) di una DB con diversi valori impostati ad altra DB. Mi spiego, con un puntatore che incrementa di 1 ogni secondo devo prendere il primo valore (se il puntatore vale 1) di una DB(ex:DB100.DBW1) e trasferirlo su altra DB (ex: DB200.DBW 100) per poi usarlo come posizionatore, con valore di puntatore 2 il secondo campo della DB (ex: DB100.DBW2)e trasferirlo sullo stesso punto della DB di appoggio (ex: DB200.DBW100) e questo per 1000 step. Vorrei poter impostare, se possibile, la DB di prelievo dati, il valore del puntatore e la DB di appoggio. Mi sembra che si tratti di un puntamento indiretto. Qualcuno ha qualche esempio da farmi avere?? Grazie
drugo66 Inserita: 18 aprile 2016 Segnala Inserita: 18 aprile 2016 Ciao, nel 1200 puoi utilizzare una variabile come indice per un array; quindi, se nel tuo DB definisci il tuo array, potrai fare quello che ti serve senza l'utilizzo di puntatori; un esempio al momento non ce l'ho, però ti assicuro che è molto semplice: prova a guardare nel manuale o nella guida in linea.
hb72 Inserita: 26 aprile 2016 Autore Segnala Inserita: 26 aprile 2016 Grazie per la risposta...ma mi ero dimenticato di specificare che non uso un 1200 ma una IM 151-8 PN-DP, e anche se utilizzo il TIA portal come software,il puntamento con un array precedentemente descritto non funziona. Se avete qualche altro consiglio...ringrazio HB.
batta Inserita: 26 aprile 2016 Segnala Inserita: 26 aprile 2016 Quote ma mi ero dimenticato di specificare che non uso un 1200 ma una IM 151-8 PN-DP Allora dovevi scrivere nella sezione del 300. In ogni caso, se utilizzi SCL puoi fare la stessa cosa (intendo l'utilizzo di array suggerito da drugo66) anche col 300. Se devi utilizzare puntatori in AWL, cerca nel forum, e vedrai che l'argomento è già stato trattato parecchie volte.
DesmoGiec Inserita: 26 aprile 2016 Segnala Inserita: 26 aprile 2016 U M 100.5 // Clock 1 sec FP M 101.0 SPBN ZERO L MW 102 // Indice pointer SLD 3 // Creo il pointer LAR1 AUF DB 100 // Carico la DB d'origine L DBW [AR1,P#0.0] // Carico la word indicizzata T DB101.DBW 0 // Trasferisco dove mi interessa L MW 102 // Indice pointer + 2 T MW 102 // Sommo 2 per incrementare l'indice al ciclo successivo L 1000 >I // Confronto se l'indice supera i 1000 SPBN ZERO // In caso, riparto da 0 e ricomincia il ciclo L 0 T MW 102 ZERO: NOP 0
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