MarioVirgilio Inserito: 14 ottobre 2020 Segnala Share Inserito: 14 ottobre 2020 Salve a tutti Premetto che non sono un esperto di Visual Basic Script Ho realizzato uno script per leggere i dati da un file CSV per un PC panel e funziona Dovrei fare la stessa cosa per un Comfort Panel Windows CE Dopo aver visto che lo stesso script non funziona, ho cercato tra gli esempi di Siemens (art. 59604194_it) L'esempio che ho trovato funziona ma legge solo l'ultima riga del file (dovrei leggere 10 righe per 4 colonne) Credo che il problema sia qui, ma non ho la conoscenza per modificarlo While fo.EOF = False data=fo.LineInputString Wend 'Write data to HMI-Tags data=Replace(data,vbTab & vbTab,delimiter) splitdata=Split(data,delimiter) SmartTags("Name_product_1")= splitdata(0) SmartTags("Name_product_2")= splitdata(1) Ringraziando per l'aiuto cordialmente saluto Link al commento Condividi su altri siti More sharing options...
ken Inserita: 14 ottobre 2020 Segnala Share Inserita: 14 ottobre 2020 legge tutte le righe ma valorizza solo l'ultima che scrive perchè non esiste un loop. Do While Not f.AtEndOfStream MyZf = f.ReadLine splitdata = Split(MyZf, ";") ' leggi prima riga If splitdata(0)="nome variabile 1" Then SmartTags("nome variabile")=splitdata(1) End If ' leggi seconda riga If splitdata(0)="nome variabile 2" Then SmartTags("nome variabile")=splitdata(1) End If Loop Link al commento Condividi su altri siti More sharing options...
MarioVirgilio Inserita: 14 ottobre 2020 Autore Segnala Share Inserita: 14 ottobre 2020 Ringrazio per la risposta Sempre per quello che ho scritto sopra ti dispiace aggiungere qualche spiegazione in più Questo è quello che devo leggere Grazie Link al commento Condividi su altri siti More sharing options...
ken Inserita: 14 ottobre 2020 Segnala Share Inserita: 14 ottobre 2020 Non c'è molto in più da dire. Il tuo esempio va bene ma legge una riga e scrive le variabili. Scriverà in name_product_1 quello che trova prima del primo punto e virgola (il delimiter) e in name_product_2 quello che c'è dopo il primo punto e virgola. Basta, non fa altro. Quello che hai postato è un file di excel, un modo come un'altra per leggere un CSV. La realtà è invece un file di testo dove ogni diverso valore è diviso da un ; (punto e virgola). Nell'esempio che ti ho messo invece legge riga per riga, guarda il primo dato, se uguale al nome della variabile scrive ciò che c'è dopo il ; nella variabile Esempio Variabile_1;100 Variabile_2;200 Quando legge Variabile_1 scriverà 100 nella variabile tag che hai scelto e così via fino alla fine del file. Il tuo file non mi è chiaro. Non capisco cosa sia la prima colonna. Come ti ho scritto il tuo script inizia a leggere il file. Scrive la prima riga sulla variabile, poi la seconda riga sempre sulla stessa variabile e così via. Tu vedi solo l'ultima perché è l'ultima ad essere scritta. Link al commento Condividi su altri siti More sharing options...
ken Inserita: 14 ottobre 2020 Segnala Share Inserita: 14 ottobre 2020 (modificato) Visto che sembra sia una ricetta potresti anche non usare nessuno script. Puoi importare il file CSV in una ricetta. Viene scritta la ricetta nella memoria del pannello. Con la visualizzazione ricette oppure con una funzione apposita (mi sembra ci sia un ordine del controllore) viene inviata al plc (vengono scritte le variabili). Vedi https://www.dmcinfo.com/latest-thinking/blog/id/9770/importing-csv-recipe-files-into-siemens-hmi-and-iteratively-downloading-multiple-data-records-from-hmi-into-plc Modificato: 14 ottobre 2020 da ken Link al commento Condividi su altri siti More sharing options...
MarioVirgilio Inserita: 20 ottobre 2020 Autore Segnala Share Inserita: 20 ottobre 2020 Scusami se non ho risposto prima ma purtroppo non avevo il HMI per provare Lo farò questo fine settimana Ti ringrazio per le risposte, sto studiando e ti farò sapere 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