Vai al contenuto
PLC Forum


Sintassi in VBS per TIA per indicizzare array di struct


GiuseppeTeo

Messaggi consigliati

Ciao a tutti avrei bisogno un supporto, se qualcuno ha già avuto occasione di utilizzare gli script vbs su HMI per indicizzare degli array di strutture.

Mi spiego meglio ho una variabile che può essere interrogata direttamente nel segunete modo

 

PesoIniziale_Mandr1= CStr(SmartTags("DBDataLog_Mandrino{1}.PesoIniziale"))

 

Se questa variabile la voglio mettere all'interno di un ciclo for e quindi indirizzarla in modo dinamico la sua sintassi come diventa? ho provato diverse soluzioni ma sempre con esito negativo.

 

Grazie per l'aiuto

Link al commento
Condividi su altri siti


Ciao a tutti avrei bisogno un supporto, se qualcuno di voi aveva già avuto l'occasione di usare gli script in tia con i pannelli per accedere al puntamento indiretto di array di strutture.

Cerco con un esempio di spiegarmi meglio:

 Ho una variabile che puo essere interrogata nel seguente modo

 

PesoIniziale_Mandr1= CStr(SmartTags("DBDataLog_Mandrino{1}.PesoIniziale"))

 

In questo modo vado a puntare il primo elemento dell'array, se volessi usase un modo dinamico per puntare all'array in questione qualcuno di voi mi sa indicare la sintassi correta?

Ho provato una serie di scritture ma tutte con esito negativo.

 

Grazie

Link al commento
Condividi su altri siti

Aprire 2 discussioni sul medesimo tema non fa ottenere più risposte ma, al massimo, fa chiudere le discussioni.

Link al commento
Condividi su altri siti

ti devi creare la variabile indicizzata.

crei una variabile (int) locale (interna al monitor)

selezioni la variabile da indicizzare (un elemento dell'array)

propietà - generale e vedi la casella inidirizzo

clicchi sulla tendina per modificare

vedrai variabile dell'indice. avrà il divieto, ci clicchi e scegli variabile. ci assegni la variabile creata.

negli script usi poi quella variabile per richiamare l'indice che ti serve.

attenzione, se l'indice nel plc non è [0..x] ma [1..x] nel monitor viene trasformato sempre in [0..x] creando un offset

Link al commento
Condividi su altri siti

@Livio Orsini

Ken non i è chiaro quello che intendi. Riesci a farmi un esempio pratico di quello che vuoi dirmi?

 

PigroPLC ti ringrazio dei link indicati ma li avevo gia guardati e fanno tutti riferimento ad una sintassi da usare per arrey standard non di tipo struct.

 

Grazie

Modificato: da GiuseppeTeo
Link al commento
Condividi su altri siti

1 ora fa, GiuseppeTeo ha scritto:

fanno tutti riferimento ad una sintassi da usare per arrey standard non di tipo struct.

mi sa che devi provare ad aggirare l'ostacolo creandoti una variabile multiplex e giocare sul puntatore.

Occhio! Fai le prove con un puntatore dichiarato come TAG nel PLC e non interno, altrimenti il rischio che non funzioni è alto.

 

 

Link al commento
Condividi su altri siti

non c'è molto da chiarire. non devi fare il lavoro nello script ma nelle variabili. è quella la differenza.

la variabile invece che essere:

"DB595 Ultimi 10 pacchi pesati box1"."Dati pacchi"[1]

diventa

"DB595 Ultimi 10 pacchi pesati box1"."Dati pacchi"[Pesata selezionata BOX1]

dove "Pesata selezionata BOX1" è una variabile temporanea

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