treemezzo Inserito: 7 settembre 2018 Segnala Share Inserito: 7 settembre 2018 Ciao a tutti ho un problema con uno script, in pratica vorrei leggere un dato grezzo 12 byte ( in realtà è un array di 3 dword) e splittarlo in 3 TAG interni dword. Ho abbozzato questo script, ma non essendo molto ferrato con VB vorrei capire dove sto sbagliano: Il ciclo di For l'ho visto su un esempio preso dal portale di siemens e si riferiva ad una dword che veniva inserita bit per bit in un array di bit, ho cercato di adattarlo al mio script ma con scarsi risultati. In particolare non ho capito cosa si intende per \ 2 e Mod 2 .... Option Explicit Function action Dim ARRAY_DWORD(3) Dim i Dim NUM_DWORD_PILOTA Dim TAG_GREZZO Dim TAG_DWORD1 Dim TAG_DWORD2 Dim TAG_DWORD3 Set TAG_GREZZO = HMIRuntime.Tags ("Variabile_Dato_grezzot") Set TAG_DWORD1 = HMIRuntime.Tags ("Variabile_interna_DWORD_1") Set TAG_DWORD2 = HMIRuntime.Tags ("Variabile_interna_DWORD_2") Set TAG_DWORD3 = HMIRuntime.Tags ("Variabile_interna_DWORD_3") For i = 0 To 2 NUM_DWORD_PILOTA = TAG_GREZZO \ 2 ARRAY_DWORD(i) = TAG_GREZZO Mod 2 TAG_GREZZO = NUM_DWORD_PILOTA Next ARRAY_DWORD(0).read TAG_DWORD1.value = ARRAY_DWORD(0).Value TAG_DWORD1.Write ARRAY_DWORD(1).read TAG_DWORD2.value = ARRAY_DWORD(1).Value TAG_DWORD2.Write ARRAY_DWORD(2).read TAG_DWORD3.value = ARRAY_DWORD(2).Value TAG_DWORD3.Write Set TAG_GREZZO = HMIRuntime.Tags = Nothing Set TAG_DWORD1 = HMIRuntime.Tags = Nothing Set TAG_DWORD2 = HMIRuntime.Tags = Nothing Set TAG_DWORD3 = HMIRuntime.Tags = Nothing End Function Grazie mille per qualsiasi aiuto o suggerimento Ciao Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 7 settembre 2018 Segnala Share Inserita: 7 settembre 2018 visto che parli di un array che contiene 3 valori io farei così: Variabile_interna_DWORD_1 = "Variabile_Dato_grezzot.[0]" Variabile_interna_DWORD_2 = "Variabile_Dato_grezzot.[1]" Variabile_interna_DWORD_3 = "Variabile_Dato_grezzot.[2]" Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora