rumbolo Inserito: 26 aprile 2016 Segnala Share Inserito: 26 aprile 2016 Ciao mi trovo a dover inserire come parametro di ingresso un array di UDT in una funzione scritta in SCL. In pratica l'UDT4 ha 3 parametri ID-String[36], PW-String[16] e LVL[DINT] e la DB8 contiene un array (0..10) di questa struttura. quando vado ad inserirla all'ingresso dell'FB mi da sempre un errore. Nella funzione SCL il dato e definito come VAR_INPUT, ho provato anche come VAR_INOUT ma poi non riesco più a compilarlo. cosa sto sbagliando? magari è una cavolata... sapete darmi una mano? Andrea Link al commento Condividi su altri siti More sharing options...
DesmoGiec Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 La var in rosso manca di "puntatore". L'array usa [xx], ma tu hai due puntini che non definiscono nulla. Definisci l'array correttamente, ad esempio con "HMIData".UserArray[1] Link al commento Condividi su altri siti More sharing options...
rumbolo Inserita: 26 aprile 2016 Autore Segnala Share Inserita: 26 aprile 2016 Ciao Desmo ho fatto queste prove: nell' array ho tolto le parentesi risultato e da errore. nelle parentesi ho messo i numeri da 0 a 10 e da errore. nelle parentesi ho messo la sintassi [0..10] e da errore. all'ingresso della funzione ho scritto l'indirizzo dell'area di memoria e da errore. all'ingresso della funzione ho scritto P#DB8.DBD 22 e da errore. ho cambiato il parametro da INPUT a INOUT e non compila la funzione. Per variare ho creato un array di 10 interi e mettendo il nome senza le parentesi quadre S7 non da errori. Ricapitolando questa sintassi che elenco NON funziona: "HMIData".UserArray[0] <-- cambiando il valore da 0 a 10 nisba... "HMIData".UserArray[..] "HMIData".UserArray[0..10] "HMIData".UserArray DB8.DBD22 (dove 22 è l'offset dove iniziano i dati dell'array, prima ci sono altri dati...) DB8.DBW22 idee??? Link al commento Condividi su altri siti More sharing options...
TravelMen Inserita: 26 aprile 2016 Segnala Share Inserita: 26 aprile 2016 Ciao com'è definita la variabile d'ingresso "I_UserDataBase"? deve essere dello stesso tipo di " "HMIData".UserArray[0]" Saluti Link al commento Condividi su altri siti More sharing options...
rumbolo Inserita: 26 aprile 2016 Autore Segnala Share Inserita: 26 aprile 2016 Ragazzi siemens è una tragedia comica... ho fatto un nuovo progetto con solo l'UDT la DB e la funzione gurdate un pò... Normalmente quando ho un array di qualcosa nelle FB lo scrivo Nome.Cognome senza parentesi quadre o altro e generalmente funziona questa volta non so perchè in qualsiasi modo lo scrivessi non lo prendeva... DELIRIO !!!! Link al commento Condividi su altri siti More sharing options...
rumbolo Inserita: 26 aprile 2016 Autore Segnala Share Inserita: 26 aprile 2016 volevo allegare il progetto ma occupa spazio ve lo mando x mail se volete togliervi la curiosità Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 aprile 2016 Segnala Share Inserita: 27 aprile 2016 Quote Ragazzi siemens è una tragedia comica... Anche a me è capitato, qualche volta, che il sistema non mi accettasse qualche collegamento a funzioni. Ma si è sempre trattato di un mio errore, spesso banale, di quelli che hai sotto gli occhi e non riesci a vedere. Mandami il progetto (ti scrivo la mia mail in pm), che sono proprio curioso di vedere se realmente è un problema del TIA. Link al commento Condividi su altri siti More sharing options...
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