Vai al contenuto
PLC Forum


Wincc Flex 2008 - Importare Set Di Dati Da File Csv


Messaggi consigliati

Inserito:

salve

ho 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?


Inserita:

se invece di lanciare la funzione tramite script utilizzi il richiamo attraverso 2 pulsanti di prova cosa succede?

pigroplc

Inserita:

esattamente la stessa cosa...

Inserita:

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.2

a questo punto DEVE andare... indipendentemente dalla funzione richiamata direttamente oppure dalla funzione richiamata da uno script.

pigroplc

Inserita:
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.... :wallbash:

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

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...