Vai al contenuto
PLC Forum


Problemi Con Sfc 83 - Copia DB da MMC a memoria di lavoro


Supertony

Messaggi consigliati

Dopo una ricerca nel forum, mi vedo costretto ad aprire una discussione per un problema che mi accade ahimè in Francia, in un'avviamento di una macchina nella quale ci sono svariati DB (creati dallo stesso UDT) che in pratica sono delle "ricette" di lavoro. Orbene, me ne servono di più di quelli che mi permette la memoria di lavoro, quindi devo ritrasferirli in memoria con l'attributo "UNLINKED", e qui viene il bello....

...richiamo l'SFC 83, come sorgente scrivo "DB21", come destinazione "DB20".... richiamo il blocco "per ore"... ma NON COPIA!!!! dove può essere il problema?

CALL SFC 83

REQ :=TRUE

SRCBLK :=DB21

RET_VAL:=LW80

BUSY :=L90.0

DSTBLK :=DB20

....questa la "volgare" sintassi....

....qualche idea?

Aggiungo che, come da manuali Siemens, il fatto che i blocchi siano UNLINKED o no è ininfluente.... la copia dovrebbe avvenire comunque... :unsure:

Link al commento
Condividi su altri siti


Avevo lo stesso problema (blocchi UNLINKED), io però usavo SFC 20 (Block Move)

Sintassi

CALL SFC 20

SRCBLK := P#DB22.DBX0.0 WORD 10

RET_VAL := MW10

DSTBLK := P#DB220.DBX0.0 WORD 10

Link al commento
Condividi su altri siti

Ho appena guardato la doc. della SFC 83 : è come quella della SFC 20, perciò devi mettere un

Puntatore di tipo ANY (non il nome del data block).

Cioè : se vuoi copiare, come mi par di capire, il DB 21 sul DB 20 devi scrivere così:

SRCBLK :=DB21.DBX0.0 BYTE 100

e

DSTBLK :=DB20.DBX0.0 BYTE 100

Meaning:

La sorgente parte dal DB1 e dal BIT DBX 0.0 ed è lunga 100 Byte (puoi anche scrivere WORD o BIT)

Stessa cosa per destinazione.

Spero che ti sia di aiuto

Link al commento
Condividi su altri siti

Il puntamento ANY era fatto a d.o.c., e le prove comunque per sicurezza le facevo direttamente indicando dei DB come parametri....

.... non chiedetemi perchè, nemmeno la Siemens è riuscita a darmi una spiegazione..... HO MESSO IL PLC IN STOP, POI IN RUN..... E TUTTO HA COMINCIATO HA FUNZIONARE PERFETTAMENTE!!!! B)B)B)

La cosa è strana.... la Siemens mi ha detto che probabilmente, a causa delle mie continue prove, richiami ciclici, ecc, qualche "registro interno della CPU si era bloccato".... io, personalmente, penso che anche loro hanno dei programmatori..... e anche questi sbagliano.... quindi forse è ora di ritoccare qualcosa al firmware 2.0 delle 314C 2DP.

Una volta sistemato l'inghippo, e continuato il lavoro, mi sono però imbattuto in un altro strano inconveniente: trasferivo un blocco dati (non UNLINKED), mi chiedeva la conferma alla sovrascrittura, confermavo..... e ONLINE mi ritrovavo ancora i valori vecchi!!!! Premetto che usavo l'editor KOP-FUP-AWL, non l'orrendo "Parametrizzazione blocchi dati", che come forse qualcuno non sa, usando CTRL+L per caricare in realtà non trasferisce i dati.... :ph34r:

Alla fine, comunque, ho cancellato i blocchi dati ONLINE, fatto una compressione della memoria, ritrasferito TUTTI i blocchi dati..... e voilà, tutto ha iniziato a funzionare che è una meraviglia.....

.....non dico niente..... certo che..... ci mancava solo il non potersi fidare dei PLC.....

Tony

P.S.: mi scuso per non avere risposto prima, ma sono arrivato a casa adesso, e dalla Francia non potevo più connettermi ad Internet....

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