Supertony Inserito: 12 ottobre 2004 Segnala Share Inserito: 12 ottobre 2004 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... Link al commento Condividi su altri siti More sharing options...
suleima Inserita: 13 ottobre 2004 Segnala Share Inserita: 13 ottobre 2004 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 More sharing options...
suleima Inserita: 13 ottobre 2004 Segnala Share Inserita: 13 ottobre 2004 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 100e 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 More sharing options...
Supertony Inserita: 15 ottobre 2004 Autore Segnala Share Inserita: 15 ottobre 2004 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!!!! 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.....TonyP.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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora