Jump to content
PLC Forum


fiorezzz

Differenza tra DPR_DAT e MOVEBLK

Recommended Posts

fiorezzz

Salve a tutti 

Quale sarebbe la differenza all'atto pratico di utilizzare la DPR_ADT o MOVEBLK per copiare un'area di  ingressi contigui (esempio voglio leggere lo stato dei primi 10byte 

degli ingressi E0.0..E9.0) e trasferirla in una DB 

A parte il fatto che le aree di memoria devono  essere contigue, che alla prima funzione va passato l'indirizzo del modulo dove si trovano gli input.,ecc.ecc.quindi a parte le differenze di implementazione tra le funzioni ...  ai fini pratici è sempre la stessa cosa ? alla fine dell'istruzione (in  unico ciclo PLC) lo stato degli input richiesti viene trasferito nella DB ? e in ogni caso è una lettura dell'immagine di processo da cui parto      

Link to post
Share on other sites

STEU

Il moveblk copia i dati da una locazione di memoria ad un'altra , es da un db ad un altro, mentre il DPR DAT ti legge i dati in modo COERENTE da una periferica profinet, e te li copia dove vuoi tu,  sono 2 istruzioni completamente diverse

Edited by STEU
Link to post
Share on other sites
fiorezzz

Volevo approfondire un pò ..in modo COERENTE  esattamente cosa significa ..stesso ciclo PLC ?  perchè queste istruzioni impiegano + cicli PLC per completare il trasferimento dati ?

Link to post
Share on other sites
walterword

il moveblock o SFC20 etc ti permette di muovere dati all'interno dell'area dati del plc ed avviene tutto in un ciclo,se muovi 2 miliardi di dati potresti ottenere lo stop della cpu per watchdog.

Le sfc14 e 15 ti permettono di leggere sulle aree periferiche che comunicano con altri dispositivi e c'e' anche il concetto di farlo in più colpi ma non solo , cose ch eimplicano il RTOS del plc. Ti basterebbe sapere questo senza conoscere il firmware del plc o altro perchè il compito del programmatore di automazione non è scrivere firmware o storie simili ma far funzionare gli impianti industriali , evitare fermi e se ci sono fermi dare informazioni per l'intervento e magari creare condizioni per le ripartenze che sono più peccaminose delle partenze.

Iniziare un ciclo non è poi cosi difficile, ma fermarlo nella giusta maniera o farlo ripartire dal punto giusto ...sono le cose più delicate da farsi.    

Edited by walterword
Link to post
Share on other sites
fiorezzz

Ho visto usare la SFC14 per leggere un "telegramma" di una periferia composto da una decina di byte di dati  per caricarlo in un struttura di una DB che rispecchia appunto 

la struttura del telegramma stesso e accedere poi da codice a tale struttura in modo tale da svincolarsi dalla lettura diretta della periferia come se fossero semplici bit/byte/word   

Ma mi sfugge ancora se la SFC14 lo fa in un unico ciclo PLC o meno ..di sicuro 4 byte alla volta si perchè sono consistenti e se ci sia una differenza andando invece a leggere direttamente sull'immagine di processo  tramite le semplici istruzione E EW EB ED  ecc. ecc. ..ovvero se in quel ciclo PLC i dati letti dalla SFC14 sono gli stessi dei corrispondenti presenti sull'immagine di processo  

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...