Vai al contenuto
PLC Forum


Funzione Scl


salvatim

Messaggi consigliati

Buongiorno a tutti,

devo realizzare una funzione scl che copi un blocco dati in un altro....Qualcuno ha idea di come si faccia ad aprire un blocco dati?

Grazie

Link al commento
Condividi su altri siti


La funzione che devi scrivere è generica, o deve copiare sempre gli stessi dati?

In ogni caso per un accesso a una DB nota puoi usare il simbolico:

"MiaDB".mioDato := "TuaDB".tuoDato; (i dati devono essere comgruenti)

"MiaDB".DW[mioIndice] := "TuaDB".DW[tuoIndice] ;

Se la db è un parametro di ingresso (o più in generale una varibile) puoi usare l'accesso:

WORD_TO_BLOCK_DB(mioIndiceDBword).mioDato := WORD_TO_BLOCK_DB(tuoIndiceDBword).tuoDato;

WORD_TO_BLOCK_DB(mioIndiceDBword).DW[mioIndice] := WORD_TO_BLOCK_DB(tuoIndiceDBword).DW[tuoIndice];

Puoi ovviamente copiare DW,DD, DX....

Curiosità non puoi usare BLOCK_MOVE ?

Buon Lavoro.

Grazie

Link al commento
Condividi su altri siti

Intanto grazie per la risposta...Non uso il BLK_MOV perchè ho necessità di fare tutto in una volta, oppure sapere quando il trasferimento sia concluso.Inoltre il quantitativo di byte è molto grande e c'è un limite,mi sembra di 648 byte.In Awl potrei usare la funione loop ma rischierei che la CPU vado in allarme watchdog.

Siccome vorrei utilizzare la funzione per più applicazioni sapresti anche dirmi come posso dichiarare i due blocchi dati da avere in ingresso come parametri?

Grazie ancora....

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