Vai al contenuto
PLC Forum


Script - salvare il valore di una variabile su file


Messaggi consigliati

Inserito:

Come faccio a scrivere uno script che salvi il valore di una variabile su un file su un pannello operatore, oppure su un pc ?

Lo scopo è quello di ricaricare di nuovo i valori all'accensione del run time, per le variabili interne al run time...... rendendole cosi ritentive, sena doverle salvare sul plc.

utilizzo wincc flexible advanced

Grazie.


Inserita:

copia questo:

Dim objFileSystem, fs, fso, f, objFileSize, strNomeFile 'dichiara le variabili

'costruzione del file se non esiste

strNomeFile= "C:\Storage Card\path_imp_exp.txt"

' Verifica che il file esista

If S_blnEsisteFile(strNomeFile) = True Then 'il file esiste

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

Set objFileSize = objFileSystem.GetFile ("C:\Storage Card\path_imp_exp.txt")

f = objFileSize.Size 'lettura delle dimensioni del file

Else ' il file non esiste

Call Header_Import_export()'prepara il file

End If

Set fso = CreateObject("Scripting.FileSystemObject")

Set fs = fso.OpenTextFile ("C:\Storage Card\path_imp_exp.txt",2) 'apre il file e sovrascrive (comando=2) ascii default

fs.WriteLine ( SmartTags("export_import") ):

fs.Close 'chiudi il file

pigroplc

Inserita:

grazie mille, un solo problema:

come faccio a rileggere i valori dal file, e rimetterli a posto in tutte le variabili ?

(questo secondo script lo eseguiro all'avvio del run time)

Grazie.

Inserita:

invece della funzione WriteLine utilizzi la ReadLine.

pigroplc

  • 8 months later...
Inserita:

Se invece di un pc è un pannello operatore come faccio a salvare il file sulla scheda di memoria?

Devo cambiare il path del file o il pannello vede la scheda di memoria come c:

Su pannelli con la usb è possibile salvare su una chiavetta.

Grazie

Inserita:

se si tratta di un pannello si tratta di WinCE, quindi la sintassi cambia un pò:

Dim fs

Set fs = CreateObject("FileCtl.File")'dichiara le proprietà del file

fs.Open "\storage card\produzione.xls",8 'apre il file e scrive alla fine file (comando=8) ascii default

blank=" "

fs.WriteFields( CStr(Date)+ ";" + CStr(Time) + ";" + operatore + ";" + CStr(PtVar."280_000") + ";" + CStr(PtVar.NOME_PROG)+ ";" + CStr(PtVar."280_002") + ";"+ CStr(PtVar."280_004") + ";" + CStr(PtVar."280_006") + ";" + CStr(PtVar."280_100") + ";" + CStr(PtVar."280_088") + ";" + CStr(PtVar."280_090")+ ";" + CStr(PtVar."280_094") ):

fs.Close 'chiudi il file

in questo caso salvo il nuova riga con i relativi tag su una flash card a bordo pannello, se invece si tratta di un modulo USB dovresti vedere nella gestione delle risorse di windows come viene chiamato, quindi sostituirlo alla dichiarazione: \storage card.

pigroplc

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