Vai al contenuto
PLC Forum


identificazione aree di memoria nei formati pointer


coquinati

Messaggi consigliati

ciao ,

credo e son convinto che sapere usare   l'awl e i puntatori  sia una gran cosa per un programmatore e oggi durante un esercitazione con i formati pointer in AWL sono incappato in un dubbio , ho provato anche a  leggere la guida HTML ma niente sono ancora più confuso di prima , vengo subito al dunque .

allora in un formato pointer si possono dichiarare le varie  aree di memoria :

 

Codice esadecimale

Area di memoria

Descrizione

b#16#81

E

Area di memoria degli ingressi

b#16#82

A

Area di memoria delle uscite

b#16#83

M

Area di memoria di merker

b#16#84

DB

Blocco dati

b#16#85

DI

Blocco dati di istanza

b#16#86

L

Stack dei dati locali (L­Stack)

b#16#87

V

Dati locali precedenti

 

il mio dubbio viene quando devo dichiarare un pointer caricato su un registro AR1 ad esempio:

 

     
      LAR1  P##DWORD_IN         //IN  FB  
      LAR2  P##BYTE_OUT         //OUT FB          


      U      [AR1,P#2.4]                
      =      [AR2,P#0.0]                

 

come si nota ho un dword in ingresso e un byte in uscita ,per interrogare e assegnare i vari bit uso le classiche operazioni abbinate ad un formato pointer ( quello dentro alle parentesi quadre ).

ho notato che prima delle parentesi quadre è possibile assegnare l'area di memoria ,

come mai ? non viene già assegnata automaticamente  una volta che io carico la WORD  in lar1? 

 

grazie in anticipo 

Modificato: da coquinati
Link al commento
Condividi su altri siti


ciao. quando carico l'ar1 o ar2, carichi solo l'offset.

poi quando utilizzi l'istruzione leggi o scrivi allora li vai a specificare in quale area di memoria vai a operare

Link al commento
Condividi su altri siti

Quote

ho notato che prima delle parentesi quadre è possibile assegnare l'area di memoria , 

come mai ? non viene già assegnata automaticamente  una volta che io carico la WORD  in lar1? 

La scrittura dell'area di memoria prima della parentesi quadra ha la priorità sull'area di memoria definita nel registro indirizzi.
Se non specifichi l'area di memoria, viene presa quella definita nel registro indirizzi.

Link al commento
Condividi su altri siti

2 ore fa, batta scrisse:

La scrittura dell'area di memoria prima della parentesi quadra ha la priorità sull'area di memoria definita nel registro indirizzi.
Se non specifichi l'area di memoria, viene presa quella definita nel registro indirizzi.

 

interessante , quindi ho un ulteriore flessibilità nell'utilizzo.

grazie mille batta.

 

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