Vai al contenuto
PLC Forum


Differenza tra DPR_DAT e MOVEBLK


fiorezzz

Messaggi consigliati

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 al commento
Condividi su altri siti

  • 2 weeks later...

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

Modificato: da STEU
Link al commento
Condividi su altri siti

  • 3 weeks later...

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 al commento
Condividi su altri siti

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.    

Modificato: da walterword
Link al commento
Condividi su altri siti

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