SanGer Inserito: 14 luglio 2018 Segnala Inserito: 14 luglio 2018 Ciao a tutti, mi scuso se ho sbagliato sezione ma non ho trovato quella dell's7-1500. Ho iniziato da poco a programmare in STL e sto iniziando ad usare i puntatori e il loop. Ho creato un array e vorrei trasferire ogni dato dell'array nel puntatore successivo attraverso un loop. Credo di aver capito la logica dei puntatori e del loop, ma vorrei sapere se è possibile prendere dal puntatore non il valore dell'offset del puntatore, ma il valore a cui il puntatore si riferisce. Esempio: Da un array Lista[1]= 25 offset 0.0 Lista[2]= 30 offset 2.0 Lista[3]= 35 offset 4.0 vorrei caricare in AR1 il puntatore 0.0, e trasferire il valore a cui si riferisce il puntatore (in questo caso 25) e trasferirlo in lista [2] con T W [AR1, P#2.0] Nel trasferimento non ho problemi, nel senso che il dato viene effettivamente trasferito in Lista[2], ma ad essere caricato è l'offset del puntatore (in questo caso 0) e non il valore di Lista[1] (25). È possibile caricare il dato a cui il puntatore si riferisce, e se sì, come? Grazie a tutti in anticipo.
batta Inserita: 15 luglio 2018 Segnala Inserita: 15 luglio 2018 Non esiste una sezione 1500, quindi sei nel posto giusto. Ma cosa scrivi prima di T W [AR1, P2.0]? Comunque, il linguaggio AWL nel TIA è messo un po' in disparte. Sono pochi i compiti che si possono fare solo in AWL. Prova a guardare il linguaggio strutturato (SCL per Siemens). Questi giochini con gli indici degli array sono facilissimi.
Cesare Nicola Inserita: 16 luglio 2018 Segnala Inserita: 16 luglio 2018 Stati facendo un po' di confusione tra AWL, che come diceva Batta è un po' in disuso con TIA, e SCL, che è il nome che Siemens da' al linguaggio ST. In SCL è semplicissimo. Per esempio: FOR #Puntatore := 1 TO 100 DO IF "DB_allarmi".Allarme[#Puntatore] THEN FAI QUALCOSA END_IF; END_FOR; Qui, per 100 volte, vado a vedere se è a 1 un bit di un array (DB_allarmi".Allarme[]). #Puntatore stabilisce a quale indice dell'array devo puntare. Se il bit corrispondente all'indice/puntatore è a 1, faccio qualcosa, altrimenti no.
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