Vai al contenuto
PLC Forum


Ottenere byte offset da simbolico


mark950

Messaggi consigliati

Buongiorno,

esiste un modo per ottenere il byte offset di una variabile memorizzata in una db partendo dal suo simbolico?
Sto cercando una soluzione in SCL ma per adesso non ho trovato nulla.

Grazie infinite

Link al commento
Condividi su altri siti


Se ho capito bene, vorresti trovare l'indirizzo di una variabile di un DB (quindi DB non ottimizzato) partendo dal nome della variabile?
In AWL puoi caricare l'indirizzo della variabile nel registro indirizzi.
Es:

LAR1 P#NomeVariabile

 

In SCL non mi pare si possa fare.
Mi piacerebbe capire a cosa ti serve, visto che si cerca sempre di più di abbandonare l'indirizzamento assoluto.

 

Modificato: da batta
Link al commento
Condividi su altri siti

Grazie Batta, esattamente.

Stavo giocando con i puntatori e volevo capire se fosse possibile una cosa del genere come con altri linguaggi di programmazione, tipo il C.

Buona domenica

Modificato: da mark950
Link al commento
Condividi su altri siti

1 ora fa, mark950 scrisse:

Stavo giocando con i puntatori

Giocaci pure con i puntatori, ma tieni presente che l'uso che se ne fa è sempre più limitato.
Era praticamente d'obbligo sapersi destreggiare con i puntatori con le CPU S7-300 e il Simatic Manager.
Oggi, con il TIA e le cpu S7-1200/1500, la tendenza è quella di abbandonare completamente gli indirizzamenti assoluti e, di conseguenza, i puntatori.
TIA offre quello che, secondo me, è l'editor di testo strutturato migliore, offre la possibilità di strutturare i dati in modo molto articolato, mette a disposizione dati di tipo "Variant". Perché lavorare ancora con i puntatori?

Link al commento
Condividi su altri siti

  • 1 month later...

Avevo tentato di fare una cosa del genere anche io tempo fa, avevo anche sentito siemens.. La risposta è stata che non si può fare! A meno che non si usi il vecchio metodo con awl descritto da batta. L'scl non permette di utilizzare una variabile tramite il suo indirizzo assoluto a meno che non si utilizzi la notazione assoluta del tipo %DBn.DBWn o DBX e così via.. ma questo con le nuove CPU non avrebbe alcun senso. 

Discorso diverso per i PLC codesys based tipo beckoff o altri dove esiste il tipo di dato "Pointer" a cui associare un indirizzo di una variabile qualsiasi, come si fa col C. 

Link al commento
Condividi su altri siti

  • 2 weeks later...

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