Vai al contenuto
PLC Forum


Vijeo Look Gestione Tag - divisione di un registro in 16 TAG dig.


Stefano Sormanni

Messaggi consigliati

Stefano Sormanni

Sto utilizzando Vijeo Look come scada e ho notato che si consumano un sacco di TAG digitali rispetto a quello analogiche, dato il fatto che con una TAG analogica ci posso fare 16 TAG digitali e visto il fatto che Vijeo Look ha la possibilità di creare variabili interne non conteggiate, volevo sapere come fare a riconoscerle come tali. Ho sentito pronto Contatto, ma (ovviamente) mi hano detto ce non c'è possibilità. Io invece penso di sì in quanto all'interno di V.L. c'è anche Visual Basic. Ora però non conosco abbastanza bene VB per poter fare questo tipo di operazione, se quanch'uno mi potesse dare una dritta, gliene sarei molto grato.

:rolleyes:

Link al commento
Condividi su altri siti


Secondo me devi usare una istruzione AND sulla word di lettura.

esempio: bit_peso1=word and 1

bit_peso2=word and 2 e così via

Per il procedimento inverso devi fare in un modo molto semplice , forse poco VBA ma efficace:

word=word + peso_bit

esempio: se il peso del bir è 4 word= al valore già presente sulla word + il peso del bit e cioè 4 se devi mettere il bit a uno, viceversa devi sottrarre 4.

Ripeto è poco VBA ma io faccio così e funziona.

Link al commento
Condividi su altri siti

(Premettendo che con VB ci smanetto solo per hobby) invece di sotrarre e sommare credo che sia più "professionale" fare così:

Word = Abs(bit_0 + bit_1 * 2 + bit_2 * 4 + bit_2 * 8 +........+bit_15 * 32768)

Nota: L'ABS l'ho messo perchè mi sembra che il valore TRUE di una variabile BOOL sia -1 e non 1.

La prossima parola ai guru del VB.

Ciao

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