Vai al contenuto
PLC Forum


DB TIA Accedere al bit della singola word


fiorezzz

Messaggi consigliati

Salve a tutti

Ho un FB che restituisce una word
Ho creato in un DB una struct che identifica la word bit.a bit poichè in seguito devo leggere il singolo bit della word restituita da FB   

Come faccio ad assegnare il valore della word in uscita dall FB alla struct della db creata 

 

In step7 avrei messo l'indirizzo assoluto  della struct creata nella DB  ..ma desso questi indirizzi assoluti delle DB create dove le vedo 

Link al commento
Condividi su altri siti


Mi auto rispondo ...la DB deve essere "non ottimizzata" in modo tale che ho di nuovo indirizzo assoluto 

 OutWord=DBXX.DBWXX

 

Ma se volesse mantenere l'accesso ottimizzato non come passo dati da word a struct di bit 

Link al commento
Condividi su altri siti

Prova con la sintassi DB_pippo.Word_Minni.X0, DB_pippo.Word_Minni.X1.

oppure di devi creare un costrutto AT della variabile, cerca nella guida del tia

Link al commento
Condividi su altri siti

Scusa Non capisco cosa intendi per costrutto ???

Il formato dati è da word  a struct (la struct è una word di bit ..ma nel TIA senza accesso ottimizzato la vede 

Ho una Var.che si chiama Pippo (word) 

Ho una Var che si chiama Pluto (struct) 

Toricamente devo fare 

L Pippo

T DBXX.Pluto  ...questa non viene accetta 

T DBXX.Pluto.Bit0   ...questa viene accetta  ?? MA SICURI CHE TRASFERISCE TUTTA LA WORD PIPPO  IN  PLUTO  

T DBXX.DBWXX     ..ma devo usare DB con accessi non ottimizzati 

 

 

 

 

 

Link al commento
Condividi su altri siti

..scusate ho fatto un errore sulla riga in grassetto 

 

Scusa Non capisco cosa intendi per costrutto ???

Il formato dati è da word  a struct (la struct è una word di bit ..ma nel TIA senza accesso ottimizzato la vede 

Ho una Var.che si chiama Pippo (word) 

Ho una Var che si chiama Pluto (struct..di 16bit) 

Toricamente devo fare 

L Pippo

T DBXX.Pluto  ...questa non viene accettata  

T DBXX.Pluto.Bit0   ...questa sintassi NON  E' CORRETTA   

T DBXX.DBWXX     ..ma devo usare DB con accessi non ottimizzati 

 

 

 

 

 

Link al commento
Condividi su altri siti

DB_pippo.Word_Minni.X1 ti permette di testare il singolo bit della word Word_Minni.Il costrutto AT ti permette di lavorare su parti della word a seconda di come hai realizzato la struttura AT

Link al commento
Condividi su altri siti

scusa ma la sintassi 

U    DB_pippo.Word_Minni.X1   ..per interrogare il singolo bit della word non viene accettata 

 

U   DB_pippo.struct_Pluto.X1 ..viene accettata  

 

ora devo fare 

l DB_pippo.Word_Minni

 DB_pippo.struct_Pluto    NON VIENE ACCETTATA 

 DB_pippo.struct_Pluto.X1     NON VIENE ACCETTATA 

Link al commento
Condividi su altri siti

Cerca nella guida "sovrapposizione con AT".
Questo ti permette di avere due variabili che condividono gli stessi indirizzi, anche con "accesso ottimizzato".

Per esempio, prima dichiari la tua word "Pippo".

Poi dichiari una variabile "sovrapposta" (vedi la guida per come fare), per esempio "Pippo_bit", che potrebbe essere una STRUCT di 16 bit, ognuno dei quali col suo nome.
A questo punto, se vuoi accedere a tutta la variabile operi su "Pippo", mentre se vuoi accedere ai singoli bit scrivi "Pippo_bit.nome_bit".

Ecco che, con questa semplice operazione, puoi accedere a tutta la word oppure ai singoli bit utilizzando sempre il simbolico, quindi senza perdere leggibilità.

Link al commento
Condividi su altri siti

ok per la sintassi di accesso di un bit della word   DB_pippo.Word_Minni.%X1 

 

in pratica U DB_pippo.Word_Minni.%x1

 

sarebbe anche interessante ad arrivare ad applicare il tipo AT ...ma non trovo doc ?????? 

Link al commento
Condividi su altri siti

Ma dove trovo il tipodati  "AT"   ??

 

ok trovato ma si può utilizzare solo nelle variabili di un FB ...non in un DB creato a parte 

 

Grazie a tutti

Link al commento
Condividi su altri siti

Quote

ma non trovo doc ?????? 

Dove hai cercato????

Apri la guida in linea del TIA.

Nella casella "Cerca" scrivi: "sovrapposizione AT".

Premi "Invio".

Non puoi non aver trovato documentazione.

 

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