Vai al contenuto
PLC Forum


SCRIPT VB WinCC Advanced V15.1


maemsrl

Messaggi consigliati

Buonasera a tutti,

premesso che in VB sono tutt'altro che ferrato, sono riuscito a realizzare due piccoli script che scrivono e/o leggono variabili da un foglio excel esistente (se a qualcuno servono...no problema).
Mi trovo però incartato in un ciclo FOR...NEXT:
 

For n2 = 0 To MaxStep Step 1
        .Cells(n2+5,1).Value = SmartTags("HMI_Programma_PassoPrg{0}.X_interasse")
        .Cells(n2+5,2).Value = SmartTags("HMI_Programma_PassoPrg{0}.Y_interasse")
        .Cells(n2+5,3).Value = SmartTags("HMI_Programma_PassoPrg{0}.Diametro")
        .Cells(n2+5,4).Value = SmartTags("HMI_Programma_PassoPrg{0}.LatoProfilo")
        .Cells(n2+5,5).Value = "tacca"
Next
 

Il ciclo serve per scrivere nelle celle A5+n2, B5+n2, etc. del foglio Excel, i valori del DB del part-program.

 

Vorrei in pratica loopare per 300 volte (MaxStep) in modo da scrivere tutti i 300 passi di programma nel foglio excel (pieni o vuoti che siano).

 

In SCL la cosa sarebbe abbastanza semplice:

Al valore {0} sostituisco [#n2] e il compilatore accetta il codice.

 

Qualcuno mi sa dare una dritta su cosa dovrei scrivere al posto di {0} per indicizzare il trasferimento?

Il mio problema è solo questo...per il resto lo script, per quello che sono le mie necessità, gira e fa il suo dovere.


Grazie a tutti in anticipo

(spero che l'immagine si riesca a leggere)WriteToExcel.thumb.jpg.99b5b49155b3ea86c22a1fb96c0a55f7.jpg

Link al commento
Condividi su altri siti


Mattia Spoldi

così dovrebbe andare

For n2 = 0 To MaxStep Step 1
        .Cells(n2+5,1).Value = SmartTags("HMI_Programma_PassoPrg{" + cstr(n2) + "}.X_interasse")
        .Cells(n2+5,2).Value = SmartTags("HMI_Programma_PassoPrg{" + cstr(n2) + "}.Y_interasse")
        .Cells(n2+5,3).Value = SmartTags("HMI_Programma_PassoPrg{" + cstr(n2) + "}.Diametro")
        .Cells(n2+5,4).Value = SmartTags("HMI_Programma_PassoPrg{" + cstr(n2) + "}.LatoProfilo")
        .Cells(n2+5,5).Value = "tacca"
Next

 

il vbscript di wincc è vbscript classico, quindi la maggior parte delle funzioni di vbscript funzionano anche in wincc.

se ti servisse una reference fatta bene qui la puoi trovare

https://www.w3schools.com/asp/asp_ref_vbscript_functions.asp

 

Link al commento
Condividi su altri siti

Grazie per la soluzione e per il link.

faccio alcune prove, ma tutto ora sembra girare correttamente.

 

Da domani "VBS for dummies"...chissà che non mi perda ancora in sintassi "sconosciute".

Grazie ancora

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