Gatito Inserito: 29 aprile 2008 Segnala Inserito: 29 aprile 2008 Salve a tutti, premetto che sono nuovo a Wincc e avrei bisogno di implementare una cosa particolare.Ho una pagina con una vista ricetta, e premendo un pulsante vorrei salvare in un file csv il contenutodi tutte le ricette. C'è già una funzione che fa questo ma mi salva il contenuto dei dati per colonnainvece che per riga.Mi salva :Ric1Dato1;Ric2Dato1;Ric3Dato1Ric1Dato2;Ric2Dato2;Ric3Dato2Ric1Dato3;Ric2Dato3;Ric3Dato3Invece vorrei:Ric1Dato1;Ric1Dato2;Ric1Dato3Ric2Dato1;Ric2Dato2;Ric2Dato3Ric3Dato1;Ric3Dato2;Ric3Dato3Allora ho pensato di fare uno script, ciclare all'interno dei dati e salvare io una riga alla volta (prendendo il valoredi ogni variabile). Solo non riesco a capire come funziona la LoadDataRecord.la chiamo cosi':LoadDataRecord "Prova Dati",index,retFunc"Prova dati" è l'insieme delle mie ricetteindex è l'indice della ricetta (che aumenta per ogni riga)retFunc è il ritorno della funzione che dovrebbe ritornare 4 se è tutto ok, 2 se sta ancora eseguendo la funzionee 12 se qualcosa è andato storto.Il problema è proprio il ritorno della funzione (visto che mi baso su quello per tutto).Se non ho capito male le funzioni sono "lanciate" e poi lo script continua, non è detto quindi che quando eseguola riga successiva, la funzione sia terminata. Ma dovrei avere come ritorno 2 no?Invece ho sempre 4 e lo script sta li' all'infinito perchè non restituisce mai nè 2 nè 12 (che dovrebbe indicare che c'è statoun errore come ad esempio sto caricando un set di dati che non esiste).Qualcuno ha avuto qualche esperienza in merito?
Gatito Inserita: 29 aprile 2008 Autore Segnala Inserita: 29 aprile 2008 (modificato) Ho cambiato strada: ora uso la sua funzione per esportare i dati e mi "aggiusto" il file csvutilizzando uno script.La domanda ora è : come si "aspetta" che la funzione di esportazione dei dati sia terminata? Modificato: 29 aprile 2008 da Gatito
Wizard78 Inserita: 29 aprile 2008 Segnala Inserita: 29 aprile 2008 (modificato) ..dalla guida...Emetti segnalazione di statoStabilisce se in seguito a un'esportazione viene emessa una segnalazione di stato o meno:0 (hmiOff) = Off: La segnalazione di stato non viene emessa.1 (hmiOn) = On: La segnalazione di stato viene emessa.Stato di elaborazioneIndica lo stato di elaborazione della funzione di sistema. Utilizzare il valore di ritorno p. es. per eseguire altre funzioni di sistema solo dopo che questa funzione di sistema si è conclusa senza errori:2 = funzione di sistema in esecuzione.4 = funzione di sistema conclusa senza errori.12 = funzione di sistema non eseguita a causa di un errore.....la prima cosa che mi viene in mente è un bel ciclo while finchè segnalazione<>4 e da 12 Modificato: 29 aprile 2008 da Wizard78
Gatito Inserita: 29 aprile 2008 Autore Segnala Inserita: 29 aprile 2008 Ok, ammetto di essere alle prime armi e un po' ignorante in materia (programmo si, ma con altri linguaggi)ma fino a leggere la guida ci arrivo :D Il problema è proprio quello: nella finestra Proprietà del tasto (tab Eventi) io metto come prima funzioneappunto la EsportaSetDiDati, metto la segnalazione a On, gli assegno una variabile (es Sts_VarExport).Nella lista funzioni, la numero 2 è appunto il mio script.Come uso la variabile in modo da "attendere" che la funzione EsportaSetDiDati sia completa?Dovrei "aspettare" che la variabile Sts_VarExport (nello script viene visualizzata in arancione) abbia ilvalore 4. Ho provato con un loop ma non funziona, e mi viene creato il file senza attendere che la funzioneEsportaSetDiDati sia completata.
Gatito Inserita: 29 aprile 2008 Autore Segnala Inserita: 29 aprile 2008 Come non detto: funziona La mia ignoranza in VBScript è grande....
Wizard78 Inserita: 29 aprile 2008 Segnala Inserita: 29 aprile 2008 (modificato) ...ma io credo che il file venga creato non appena parte la funzione......il valore restituito però diventa 4 solo quando la funzione ha finito il lavoro.....comunque farei tutto dentro un unico script.....cioè nel tuo script esegui la funzione ExportDataRecords, aspetti che Sts_VarExport diventi 4 e prosegui.......p.s. ho risp prima che dicessi che funziona............comunque meglio così! Modificato: 29 aprile 2008 da Wizard78
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