Vai al contenuto
PLC Forum


Operazione sui DB


Bosca

Messaggi consigliati

Buongiorno...

Ho creato un FC per la copia di un DB in un altro DB, tramite puntatori e offset...

Qualcuno sa se esiste un istruzione che mi ritorni il tipo di dato che sto copiando (word, int, bool, string. ect... )???

Grazie

Link al commento
Condividi su altri siti


Con il 1200/1500, con un semplice MOVE (o una semplice assegnazione ":=" in testo strutturato) è possibile copiare intere strutture, array, e DB (se di formato compatibile).
Perché ci si deve ancora ostinare ad usare i puntatori in AWL?

Comunque, usando i puntatori non mi risulta esista un modo per sapere quale sia il tipo di dati che stai copiando. Sei tu che decidi se copiare un bit, una word, o quello che vuoi.

Lavorare con i puntatori andava bene nel 300/400, quando c'era a disposizione un editor di testo strutturato molto rudimentale, e non c'era la flessibilità permessa dalle nuove CPU.
Ora, usare i puntatori, con un 1500, può avere senso solo in rari casi. Ma basta strutturare i dati nel modo corretto, e non mi viene più in mente un solo caso dove di debba per forza ricorrere ai puntatori.
Tra l'altro, per lavorare con i puntatori si devono usare dati "non ottimizzati", con un tempo di accesso 5-6 volte più lento rispetto all'accesso ai dati "ottimizzati".

Io mi sono trovato recentemente, con un 1500, a lavorare ancora con i puntatori, ma solo perché si trattava di un programma migrato da un 300, nel quale programma dei puntatori si faceva largo uso. Alcune parti le ho modificate, ma eliminare l'uso dei puntatori da tutto il programma avrebbe richiesto un lavoro enorme.
Nei nuovi programmi, non uso più i puntatori da parecchio tempo.

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