Vindro Report Share Posted Monday at 12:00 PM Buongiorno a tutti. Sto sviluppando una pagina web per poter importare delle ricette da un file CSV dentro una DB del programma PLC, il tutto utilizzando una pagina web creata sul WebServer della CPU stessa ( S7-1200 1212C DC/DC/DC ). Chiaramente mi piacerebbe poter fare anche lo stesso procedimento al contrario, quindi esportare dalla DB al CSV. Premetto ch sto utilizzando un esempio trovato su Internet il quale sembra non funzionare correttamente. In questo momento il problema è l'importazione del file CSV nella DB delle ricette ( vedi immagine ). Come indicato nell'esempio stesso, tramite il blocco "RecipeImport" dedicato, si possono importare le ricette dal CSV nella DB, ma pare non funzionare ( chiaramente ho caricato prima il file nella memoria di caricamento interna - in questo momento non ho la memory card ). Quando imposto la richiesta a 1 vedo andare a 1 il "busy" ma poi non succede più niente ... Sapete darmi indicazioni in merito ? Bisogna tener conto di qualcosa in particolare ? Centra il fatto che non ho inserito la memory card ? Quote Link to post Share on other sites
drn5 Report Share Posted Monday at 12:19 PM 17 minuti fa, Vindro ha scritto: blocco "RecipeImport" Ma scusa, dentro questo blocco cosa c'è? Ci hai guardato aldilà di metterlo nel segmento? Ciao Quote Link to post Share on other sites
Vindro Author Report Share Posted Monday at 01:40 PM 1 ora fa, drn5 ha scritto: Ma scusa, dentro questo blocco cosa c'è? Ci hai guardato aldilà di metterlo nel segmento? Ciao Ciao. Questo "RecipeInport" è un blocco Siemens fatto apposta per quasta operazione, pertanto non è possibile ne modificarlo ne vederne il contenuto. Secondo la guida del TIA Portal questo blocco prende il contenuto dell'ultimo file CSV caricato nella memoria di caricamento e lo copia in un DB nella memoria di lavoro, lo stesso indicato nel parametro 'Recipe_DB'. Evidentemente c'è qualcosa che non gli piace, ma cosa ? Quote Link to post Share on other sites
drn5 Report Share Posted Monday at 04:05 PM Proverei con una sola riga, con i nomi delle colonne nell'header più corti, con il delimitatore ; invece che , Giusto per capire se la situazione migliora. Visto così funziona tutto ma non va niente... Quote Link to post Share on other sites
Vindro Author Report Share Posted Tuesday at 11:57 AM (edited) Facendo delle prove ho visto che il problema è legato proprio al file CSV, nel senso che non risco a modificarlo nel modo giusto ... mi spiego meglio. Il procedimento che sto utilizzando è il seguente: Esporto le ricette già esistenti nel PLC su un file CSV, utilizzando la pagina web dedicata e costruita da Siemens. Apro e modifico il file CSV da Excell, NotePad o WordPad. Mantengo la stessa formattazione e gli stessi delimitatori. Carico il file CSV nella CPU e poi tento di trasferire il contenuto su DB utilizzando questo blocco "RecipeImport". Qui si verifica il PROBLEMA ... Il parametro "Busy" del blocco va a 1 ma non succede nulla. Ho provato anche a esportare un CSV partendo dal formato Excell classico, ma non cambia nulla e apparentemente il contenuto è sempre lo stesso ... non si vedono errori !!! Avete idea di cosa succede quando modifico il file ? Sapete se ci sono programmi più idonei per modificare questi file ? Edited Tuesday at 12:07 PM by Vindro Quote Link to post Share on other sites
Mattia Spoldi Report Share Posted Tuesday at 12:33 PM Per editare i csv, ti consiglio Ron's Editor (qui), io l'ho usato per modificare le ricette del webserver e funziona molto bene. Quote Link to post Share on other sites
Vindro Author Report Share Posted Tuesday at 04:50 PM Grazie a @Mattia Spoldi e @drn5 dei suggerimenti !!! Questo " Ron's Editor " permette di modificare i file CSV senza alterarne la struttura "nascosta", davvero ottimo. Così facendo anche il resto del programma funziona correttamente e bastano questi semplici blocchi "RecipeImport" e "RecipeExport" per fare la maggior parte del lavoro circa l'importazione ed esportazione delle ricette. Quote Link to post Share on other sites