ENZO_72 Inserito: 4 dicembre 2012 Segnala Inserito: 4 dicembre 2012 Gentili amici del forum, sono alle prese con un 1200, ed avrei la necessità di indirizzare indirettamente gli elementi array di una db. Mi spiego ho una db (my_db) con 10 elementi array di tipo int [1..10] , ed una variabile merker di nome index di tipo int. Una qualsiasi operzione es. move con sintassi my_db.elemento[1] non da errori, però se scrivo my_db.elemento["index"] mi dice che è un errore e la marca di rosso. Premetto che da l'. di linea si evince che tale sintassi è ammessa addirittura per array bidimensionali è possibilile scrivere ["i","j"]. Non riesco a capire dove sbaglio, la cosa deve essere possibile senza l'utilizzo delle funzioni FieldRead e FieldWrite. Enzo
batta Inserita: 4 dicembre 2012 Segnala Inserita: 4 dicembre 2012 Io ho provato e funziona senza problemi.
weather Inserita: 4 dicembre 2012 Segnala Inserita: 4 dicembre 2012 confermo , utilizzo sia array di booleani che di interi , e funziona bene
baltimora Inserita: 4 dicembre 2012 Segnala Inserita: 4 dicembre 2012 (modificato) In realtà l'indice dell'array con l'istruzione FieldWrite è di tipo Dint. Ma in ogni caso, ho fatto anche io la prova a muovere un valore in un array senza l'utilizzo di FieldWrite e sostituendo l'indice con un indirizzamento simbolico sia di tipo int che dint e confermo che da errore. Effettivamente nelmanuale è indicato che può essere utilizzato l'indirizzamento simbolico come indice. "<Blocco dati>".<ARRAY>["i"] // ARRAY unidimensionale "<Blocco dati>".<ARRAY>["i"].a // ARRAY of STRUCT unidimensionale "<Blocco dati>".<ARRAY>["i", "j"] // ARRAY multidimensionale "<Blocco dati>".<ARRAY>["i", "j"].a // ARRAY of STRUCT multidimensionale ARRAY i, j =Variabili PLC del tipo di dati "numero intero" che vengono utilizzate come puntatore Modificato: 4 dicembre 2012 da baltimora
batta Inserita: 5 dicembre 2012 Segnala Inserita: 5 dicembre 2012 Io ho riprovato, con un array a 4 dimensioni, utilizzando come indice sia una MW dichiarata come INT, sia variabili TEMP sempre di tipo INT. Ho provato sia in KOP (con un MOVE) che in SCL, e va sempre bene. La versione di TIA Portal che sto usando è la V11 SP2 Update 5.
baltimora Inserita: 5 dicembre 2012 Segnala Inserita: 5 dicembre 2012 (modificato) Ho rifatto la prova, creando un progetto partendo da zero ed ora funziona. Ieri sera avevo provato su un progetto già aperto su cui stavo lavorando e mi generava errore?????? Modificato: 5 dicembre 2012 da baltimora
ENZO_72 Inserita: 6 dicembre 2012 Autore Segnala Inserita: 6 dicembre 2012 Be grazie ai vostri post ho risolto; Seguendo quanto detto da baltimora, ho aperto un nuovo progetto creato le stesse condizioni e tutto ha funzionato senza far nulla Grazie a tutti
batta Inserita: 6 dicembre 2012 Segnala Inserita: 6 dicembre 2012 Io però non ero partito da un progetto nuovo. Non so se sia quello il motivo.
baltimora Inserita: 6 dicembre 2012 Segnala Inserita: 6 dicembre 2012 Io però non ero partito da un progetto nuovo. Non so se sia quello il motivo. Neanche io all'inizio ero partito da un progetto nuovo, ho fatto la prova su uno che avevo già aperto ma non ha funzionato. Mi dava errore, Poi dopo la tua risposta Io ho riprovato, con un array a 4 dimensioni, utilizzando come indice sia una MW dichiarata come INT, sia variabili TEMP sempre di tipo INT. Ho provato sia in KOP (con un MOVE) che in SCL, e va sempre bene. La versione di TIA Portal che sto usando è la V11 SP2 Update 5. Ho verificato la versione del tia ed era uguale alla tua. All'ora ho deciso di provavre con un nuovo progetto ed ha funzionato. I misteri dell'informatica.....anzi no della siemens....
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