Vai al contenuto
PLC Forum


Move Di Un'area Di Ingressi - in un DB strutturato


Messaggi consigliati

Inserito:

vorrei copiare un'area di memoria degli ingressi

per es. da EB256 a EB300 in un blocco di dati DB (ovviamente

della stessa dimensione)

ho provato con SFC 14, SFC 20 senza buon esito

in particolare la SFC 20 sembra poter funzionare

ma mi copia solo un byte e non riesco a dirgli quanti byte mi servirebbero.

BLKMOV (BLKSRC := EB256, BLKDEST := DB_strutt.memIngressi)

ho provato anche con un ciclo FOR ma non mi funziona

FOR i:= 0 TO 10...

DB_strutt.memIngressi.DW := E[256+i]

dove sbaglio?

grazie anticipate

:ph34r:

Fabrizio


Inserita:

ah scusate...

dimenticavo, plc s7-313, programmazione in SCL

grazie, di nuovo

Fabrizio

Inserita: (modificato)

non ho lo step7 davanti, ma (chiedo conferma ad altri)

dovrebbe essere così:

BLKMOV (BLKSRC := P#E 256.0 BYTE 10, BLKDEST := P#DB1.DBX0.0 BYTE 10)

Modificato: da TMlm
Matteo Montanari
Inserita:
programmazione in SCL

io posso darti la soluzione in AWL, utilizzando SFC20...

devi creare il puntatore ANY in ingresso ed in uscita per utilizzare SFC20

nel tuo caso i dati da copiare sono in ingresso EB256 per 44 byte (256 + 44 = 300)

quindi devi creare il puntatore ANY in questo modo "P#E 256.0 BYTE 44"

supponiamo che il blocco dati di destinazione sia il DB10 a partire dalla DBB0

il tuo puntatore ANY sarà così composto: P#DB10.DBX0.0 BYTE 44

a questo punto la funzione risulta essere:

CALL SFC 20

SRCBLK :=P#E 256.0 BYTE 44

RET_VAL:=#RETVAL

DSTBLK :=P#DB10.DBX0.0 BYTE 44

Inserita:

Grazie delle dritte...

per ora in SCL non ci sono riuscito, la soluzione proposta non funziona

perché dà come errore: "tipo non valido per la costante..."

in AWL invece funziona, e per ora mi tengo quella B)

grazie ancora, a buon rendere

Fabrizio

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