Vai al contenuto
PLC Forum


Pointer


damitisi

Messaggi consigliati

Ciao a tutti ,

Scusate ma dopo aver letto e riletto e utilizzato i puntatori nel 300 adesso che voglio fare il tutto nel 1200 non trovo l'awl e non so come fare.

Ho un array di 100 dword in db1 e le devo utilizzare con sld.

Sul pannello imposto una md10 con valore 230 e quando il bit 230 esimo è true mi abilita q0.0

Non so come puntare al bit 230;

auf db1

u dbx[md10]

=q0.0

Grazie

Link al commento
Condividi su altri siti


Ciao

per l'ìAWL sul 1200 non c'è.

per gli array all'interno di una DB basta fare così:

<nomeDB>.<nome variabile di tipo array>[variabile di tipo int] p.e. pippo.pluto[mw0]

se invece devi puntare ad un bit della variabile word dell'array devi:

<nomeDB>.<nome variabile di tipo array>[variabile di tipo int].x<numero del bit> p.e. pippo.pluto[mw0].x5 --> dove con x5 punti al sesto bit

spero di aver capito bene quello che chiedi

Ciao

Link al commento
Condividi su altri siti

allora dopo varie prove scrivendo db1.dbw[mw0] dove nell' mw0 c'e' scritto in formato int es:12 mi va sulla db1.dbw12 ma per i bit es:

devo puntare al 30 esimo bit dove il valore 30 è scritto trammite hmi in fomato int.

Allora scrivo 30 sull' hmi,

sul programma c'e' scritto es anche se in awl in un secondo tempo lo faccio in kop

auf db1

u dbx[mw0]

=m0.0

non riesco a far settare il bit m0.0 quando su dbx[mw0] la variabile mw0 è a 30.

Grazie e ciao

Link al commento
Condividi su altri siti

Ciao

se non ho capito male hai un array con più di 30 elementi binari e devi puntare al 30 bit?

Se è così devi fare <nome_db>.<nome array>[mw0] attenzione però l'array deve essere di tipo bool

la scrittura nome_db>.<nome variabile>.x<numero bit> ti serve se devi puntare ad un bit di una variabile dichiarata byte,word,dword

Ciao

Link al commento
Condividi su altri siti

  • 4 weeks later...
Giacomo Grassi

Scusate se mi intrometto nella vostra discussione ma vorrei chiedere anche io un chiarimento; se scrivo db1.dbw[mw0] e in mw0 ho dentro, per esempio, 24 mi verrà selezionata la db1.dbw24; ora posso fare questo: move db2.dbw100 (dove ho dentro per esempio=w#16#0fff) in db1.dbw[mw0] cioè MOVE

db2.dbw100

db1.dbw[mw0]

Quindi db1.dbw24=w#16#0fff.

Grazie.

Giacomo Grassi.

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