Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Script su WinCE


Messaggi consigliati

Inserito:

Salve a tutti, mi ero fatto tutta una serie di script con i quali andavo a leggere e scrivere su dei file txt,

quando pero ho provato gli stessi script sul hmi (TP900) non ne funzionava nemmeno uno!

Dopo infinite ricerche su internet (ho provato anche dal sito della Siemens, senza trovare uno script che funzioni),

sono a malapena riuscito a copiare due file, da SB a USB; non sono ancora riuscito a trovare la funzione che crea un file

nuovo (completamente vuoto), ma bene o male cancellando il vecchio file e ricopiando un file vuoto potrei risolvere.

Ma ci sono funzioni che non riesco a trovare da nessuna parte, o quantomeno fanno tutte riferimento al funzionamento su PC!

Una funzione di cui ho disperato bisogno e questa: usando il "CreateObject("FileName")" oppure il "CreateObject("FileSystem")" 

(che a quel che ho capito sono gli unici che funzionano con il CE), desidererei trovare un comando che mi permetta di leggere e scrivere sulle singole celle di un file Excel o file di testo; prima usando l'oggetto "Scripting.FileSystemObject" potevo leggere e scrivere le singole celle del file con il comando ActiveSheet.Cella (NumRiga,NumColonna).Value.

Qualcuno sa dirmi se esiste un comando simile che possa essere usato sugli hmi?

Grazie anticipatamente a tutti.


Inserita:

esiste una sessione dell'aiuto in linea di wincc flex dove ci sono le differenze fra I comandi per win ce e win xx.

Apri uno script nuovo e premi il tasto F1

wincc flexible information system\utilizzo di wincc flexible\riferimento\vb script per windows ce

trovi tutto!

Inserita:

Ciao Pigro, avevo già provato quelle funzioni: c'è solo la funzione "LineInputString" ma scrive un rigo, non una singola cella excel; e per fare la lettura di una cella?

Inserita:

Dal sito Siemens tanto tempo fa ho scaricato un esempio di gestione delle celle di excel con Protool. Ho successivamente aggiornato l'esempio con Winccflex. In effetti guardando il percorso di aperture l'esempio su Protool si basa su un PC. Se invece di e:\test\bsp_rezeptur.xls metti il percorso sulla flash card o usb del pannello vedi se funziona.

'esempio di lettura di una cella



'Creating a variable
Dim SOLL
'Assignment of type Excel spreadsheet
Set SOLL = CreateObject("excel.application")
'Open the existing table
SOLL.Workbooks.Open "e:\test\bsp_rezeptur.xls"

'Assignment of target values from the table to the variables of the PLC
SmartTags("VAR1_INT") = SOLL.Cells(3,6).Value
SmartTags("VAR2_REAL") = SOLL.Cells(3,7).Value
SmartTags("VAR3_STRING") = SOLL.Cells(3,8).Value

SmartTags("ADD_INT") = SOLL.Cells(3,9).Value
SmartTags("ADD_REAL") = SOLL.Cells(3,10).Value

'Processed in the background
SOLL.Visible = False
'Save and quit Excel
SOLL.ActiveWorkbook.Close

'Used to free up memory
Set SOLL  = Nothing


"esempio di scrittura della cella 

'Variable, the Excel spreadsheet is assigned (Excel example values)
Dim XL_BW 			
'Allocation Excel Application
Set XL_BW = CreateObject("excel.application")	 
'Existing Open Table
XL_BW.Workbooks.Open "e:\test\bsp_rezeptur.xls"	


'the row value recovered since the last update
SmartTags("row") = XL_BW.Cells(3,5).Value


'Table entries (row, column)
XL_BW.Cells(SmartTags("row"),1).Value = Now							

XL_BW.Cells(SmartTags("row"),2).Value = SmartTags("VAR1_INT")

XL_BW.Cells(SmartTags("row"),3).Value = SmartTags("VAR2_REAL")	

XL_BW.Cells(SmartTags("row"),4).Value = SmartTags("VAR3_STRING")

'Increase the row index to the next call in the next line to write
SmartTags("row") = SmartTags("row") + 1

'the row value getting stored for the next row available for the next update
XL_BW.Cells(3,5).Value = SmartTags("row")

'Table does not show
XL_BW.Visible = False				

'Save and quit Excel
XL_BW.ActiveWorkbook.Close(True)

'Used to free up memory
Set XL_BW  = Nothing"'





Se non sbaglio il link di partenza del mio esempio è questo:

https://support.industry.siemens.com/cs/document/976820/data-retrieving-from-and-writing-into-excel-or-access-with-visual-basic-script-and-protoolpro?dti=0&lc=en-WW

 

Inserita:

Peccato che la funzione CreateObject ("ExcelApplication") non funziona con Windows CE        :wallbash:

Certo che la Siemens con i suoi simulatori che non simulano un bel niente!

Sto cercando di usare le funzioni LineInputString che ti leggono una alla volta tutte le righe del file, fornendo una stringa unica per ogni riga; poi con la funzione Split (RigaLetta,"separatore della colonna") dovrei poter dividere le singole celle del file.

Tutto questo in lettura... In scrittura poi :worthy:... Spero di trovare nel frattempo un'anima Pia che mi illumini il cammino.

 

Inserita:

non voglio difendere la Siemens (anche se lavoro con suoi prodotti da più di 31 anni), ma se si ha bisogno di accedere a files in genere si usano PC, I pannelli mal digeriscono gli script in termini di performances e sono relegati a semplici operazioni HMI e relative ricette, sopratutto al giorno d'oggi, quando I PC panel industriali hanno prezzi decisamente abbordabili.

 

Inserita:

Carissimo Pigro, non per condannare la Siemens, anche perché lavoro con i loro prodotti dal secondo superiore, e bestemmie a parte li adoro!

pero se devo usare l'Audit (un sw Siemens, fatto specificatamente per i pannelli, che abbiamo pagato 800 x 2 = 1600€), e poi dovermi fare un c.... come una capanna semplicemente per creare uno script che visualizzi sulla pagina del pannello i dati memorizzati (dal sw Siemens) nel loro foglio excel, se permetti mi girano... lasciando anche perdere che non funziona la gestione della lingua!

E meno male che sono pessimista per natura, e mi sono messo a fare le prove sul pannello non appena mi è arrivato, perché se mi fidavo del simulatore (dove funzionava tutto al 100%), avrei fatto una figuraccia che nemmeno immagini!!!!!!

La Siemens fa una pubblicità allucinante dei suoi simulatori, dove puoi provare tutto l'impianto, e poi i comandi che inserisci non funzionano perché nel pannello usano una versione diversa di Windows... A volte sembrano dei bambini!

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