Andrea_unipd Inserito: 7 aprile 2011 Segnala Inserito: 7 aprile 2011 salveho scritto uno script per wincc flexible 2008, con cui vado a creare un file CSV con i dati di un determinato set di dati di una ricetta (utilizzando la funzione di sistema EsportaSetDiDati), che viene salvato in una chiavetta USB. Lo script funziona correttamente, e nella chiavetta mi ritrovo il file. Ora, io ho bisogno di poter reimportare le ricette dalla chiavetta USB alla memoria del pannello (tutto questo perchè il cliente abbia la possibilità di tenere una copia di backup delle ricette, dal momento che le può modificare a seconda delle sue esigenze). Ho utilizzato la funzione ImportaSetDiDati, specificando il percorso corretto del file CSV, ma la funzione non va mai a buon fine.questo è un esempio di file CSV che trovo nella chiavetta (aperto con il blocco note)List separator=;Decimal symbol=, Filling_Gains Filling_Gains; LANGID_410;Recipe_01 LANGID_809;1 2;1 Gains_Range_1.Gain_Cell_01;1 Gains_Range_1.Gain_Cell_02;1 Gains_Range_1.Gain_Cell_03;1 e questo che segue è il codice dello script per importare il CSV. Essenzialmente ho 3 ricette, e devo importare il set di dati il cui numero è specificato da SmartTags("Recipe Data.Recipe_Number"), per ciascuna delle tre ricette. ImportDataRecords "\Storage Card USB\ExportedRecipe\FillingGains.CSV",SmartTags("Recipe Data.Recipe_Number"),hmiOverwriteAlways,hmiOff,StateImportFillingGains Do Loop While (StateImportFillingGains <>4 And StateImportFillingGains <> 12) ImportDataRecords "\Storage Card USB\ExportedRecipe\In_Flight.CSV",SmartTags("Recipe Data.Recipe_Number"),hmiOverwriteAlways,hmiOff,StateImportInFlights Do Loop While (StateImportInFlights <>4 And StateImportInFlights <> 12) ImportDataRecords "\Storage Card USB\ExportedRecipe\Production recipe.CSV",SmartTags("Recipe Data.Recipe_Number"),hmiOverwriteAlways,hmiOff,StateImportProductionRecipe Do Loop While (StateImportProductionRecipe <>4 And StateImportProductionRecipe <> 12)Il percorso del file è corretto, Non ho modificato in alcun modo il file CSV che ho creato, però le variabili che indicano lo stato delle funzioni indicano che queste non vanno a buon fine (valgono 12).Qualcuno ha un consiglio da darmi?
pigroplc Inserita: 7 aprile 2011 Segnala Inserita: 7 aprile 2011 se invece di lanciare la funzione tramite script utilizzi il richiamo attraverso 2 pulsanti di prova cosa succede?pigroplc
Andrea_unipd Inserita: 7 aprile 2011 Autore Segnala Inserita: 7 aprile 2011 esattamente la stessa cosa...
pigroplc Inserita: 7 aprile 2011 Segnala Inserita: 7 aprile 2011 quindi si tratta di un problema altrove.1) hai dichiarato nelle connessioni l'area del buffer dati lato WinCCFlex e conseguente area presente nel PLC? (comunicazione\collegamenti\coordinazione\set di dati ....il collegamento deveessere attivo e deve essere dichiarato, lunghezza e cicli di acquisizione non sono modificabili)2) forse devi resettare il flag di trasferimento terminato dal lato PLC al termine del trasferimento, area buffer dati (4a parola decimo bit) cioè se l'area dati inizia da DBW4 devi resettare DBX11.2a questo punto DEVE andare... indipendentemente dalla funzione richiamata direttamente oppure dalla funzione richiamata da uno script.pigroplc
Andrea_unipd Inserita: 8 aprile 2011 Autore Segnala Inserita: 8 aprile 2011 hai dichiarato nelle connessioni l'area del buffer dati lato WinCCFlex e conseguente area presente nel PLC? (comunicazione\collegamenti\coordinazione\set di dati ....il collegamento deveessere attivo e deve essere dichiarato, lunghezza e cicli di acquisizione non sono modificabili)il problema era effettivamente questo.... e poi ho scoperto che non si possono importare i dati in un dataset diverso da quello usato per esportare (se esporto i dati del dataset 1, non posso reimportarli ad esempio nel datset 2)...grazie 1000
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