Vai al contenuto
PLC Forum


Tp 277 E Vbs


marco_d_piu

Messaggi consigliati

Ciao,

prima di tutto vi chiedo scusa se nell'esporre il mio problema non sarò troppo tecnico: sono un' elettrotecnico e di solito programmo solo PLC.

Ho già realizzato degli script con PROTOOL RUNTIME per generare semplici file .csv o .txt.

Ora mi trovo a dover realizzare un'applicazione per il pannello TP277 (utilizzando WCC flex. 2005 advance) e lo script non funziona. (Funziona se testo il progetto in runtime sul mio pc ma non se lo trasferisco sul touch-panel)

La risposta di SIEMENS è stata:

- La libreria di VBS per Windows XP è diversa da quella per Windows CE

- Non forniamo assistenza per gli script.

- Se pagate vi realizziamo gli script.

Di fatto il mio script deve solo

- Creare una caretella

- Creare un file se non è gia esistente

- Aggiungere una riga al file (sono riuscito tramite discussioni in questo sisto ad eseguire questa operazione)

CHIEDO A VOI DI DARMI UNA MANO!!!

GRAZIE A CHIUNQUE DI BUON CUORE MI VOGLIA AIUTARE

Di seguito vi riporto il testo dello script che funziona con XP. (In neretto le istruzioni che devo convertire per WIndows CE)

-----------------------------------------------------------------------------------------

' REGISTRAZIONE TEMPERATURE

On Error Resume Next

' Dichiarazione delle variabili

Dim fs, a, nomefile, anno, mese, giorno, anno1, mese1, giorno1, OraAtt

Dim T1d, T2d, T3d, T4d

Dim g, gs

' Creazione della cartella di sistema se mancante

Set gs= CreateObject("Scripting.FileSystemObject")

Set g=gs.CreateFolder ("Flash\Marco")

Set g=gs.CreateFolder ("Flash\Marco\Archivi")

Set fs = CreateObject("Scripting.FileSystemObject")

' Definizione data attuale

anno = Year(Now)

mese = Month(Now)

giorno = Day(Now)

OraAtt = TimeValue(Now)

If mese < 10 Then mese1 = "0" + CStr(mese)Else mese1 = mese

If giorno < 10 Then giorno1= "0" +CStr(giorno)Else giorno1 = giorno

' Aggiunta della virgola alle variabili di temperatura

T1d=SmartTags("Temp_1")/10

T2d=SmartTags("Temp_2")/10

T3d=SmartTags("Temp_3")/10

T4d=SmartTags("Temp_4")/10

' Definizione del nome del file da creare/aggiornare

nomefile = "\Flash\Marco\Archivi\" + CStr(giorno1) + "_" + CStr(mese1) + "_" + CStr(anno)

' Verifica se file esistente o creazione del nuovo

Err=0

Set a = fs.OpenTextFile (nomefile+".csv", 8.0)

If Err <> 0 Then Set a = fs.CreateTextFile(nomefile+".csv" , True): a.Close : Set a = fs.OpenTextFile(nomefile+".csv", 8,0): a.WriteLine("DATE: "+CStr(giorno1)+"/"+CStr(mese1)+"/"+CStr(anno)): a.WriteLine(" ") : a.WriteLine("Time;Temp 1;Temp 2;Temp 3;Temp 4"):a.Close

' Append delle nuove registrazioni

Set a = fs.OpenTextFile(nomefile+".csv", 8,0)

a.WriteLine(CStr(OraAtt)+ ";" + CStr(T1d) + ";" + CStr(T2d) + ";" + CStr(T3d) + ";" + CStr(T4d) ):a.Close

Link al commento
Condividi su altri siti


Grazie per l'idea ma ti assicuro che il problema non è quello.

In effetti il problema sta nel fatto che le librerie di VBS per Windows XP sono diverse da quelle di Windows CE.

Sono in via di risoluzione del problema dopo aver trovare le informazioni necessarie in internet nella MSM library.

Link al commento
Condividi su altri siti

prova con la funzione di ricerca;

chiave di ricerca "Script Con Protool, Lettura testo csv"

oppure più semplicemente "ricette"

e ti si apre un mondo nuovo di spunti............

pigroplc

Link al commento
Condividi su altri siti

  • 4 weeks later...

E' vero, per creare cartelle, aprire file ecc ci sono dei comandi diversi.

Nel tuo caso il codice deve essere:

Dim f

Set f=CreateObject("FileCtl.filesystem")' crea l'oggetto file system

f.MkDir "\Flash\nome tua cartella" ' crea la cartella

Queste funzioni sul pc forse non ti funzionano. Ma sul pannello si.

Non ti preoccupare lo deve fare...

Saluti

Link al commento
Condividi su altri siti

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