Vai al contenuto
PLC Forum


Aiuto interpretazione AWL


Valuzzo

Messaggi consigliati

Salve a tutti, avrei bisogno di aiuto per interpretare questa parte di codice AWL:

 

U(    
      L     "MB123"
      L     0
      >I    
      )     
U(    
      L     "MB123"
      L     99
      <=I   
      )     
      SPB   M002
      SPA   M003
M002: NOP   0
      U     "m17.7"
      U     "m0.5"
      SPB   M003
      L     "MB123"
      T     "mb16"
      UN    "M122.7"
      SPB   M003
      L     "MB123"
      SLW   1
      T     #TEMP0
      L     #TEMP0
      SLW   3
      T     #TEMP1
      AUF   "AREA 1 DATI"
      L     DBW [#TEMP1]
      T     "mw8"
      AUF   "AREA 2 DATI"
      L     DBW [#TEMP1]
      T     "mw50"
      S     "m0.5"
M003: NOP   0


 

Se non ho capito male dovrebbe essere: se il MB123 è compreso tra 0 e 99 salta a M002 a questo punto controlla M17.7 e M0.5 se sono TRUE entrambi salta a M003 altrimenti copia MB123 in MB16.

Fatto questo controlla M122.7 se è TRUE salta a M003 altrimeti shifta a sinistra M123 e lo trasferisce in TEMP0 (che è un Byte) shifta a sinistra TEMP0 di 3 bit e lo carica in TEMP1 (che è un DWord).

quindi apre il db "AREA 1 DATI"  alla word #temp1 e lo copia nella mw8 e la stessa word dell' "AREA 2 DATI" nella mw50. Fatto questo setta il m0.5.

 

Se ho capito bene quindi, premesso che il MB123 abbia al suo interno il valore intero 2, M17.7=TRUE, M0.5=FALSE, M122.7=FALSE: alla prima iterazione  avrò in TEMP0 '0000_0100', in TEMP1 '0000_0000_0000_0000_0000_0000_0010_0000'. In mw8 ed mw50 avrò il contenuto, rispettivamente, della db AREA 1 DATI alla word 16 e della db AREA 2 DATI alla word 16 e ovviamente m0.5=TRUE.

 

è corretto?

 

Grazie in anticipo a chi volesse aiutarmi

Link al commento
Condividi su altri siti


tutto giusto,il primo SLW moltiplica per 2 quindi in TEMP0 ci sarà 4 mentre il secondo SLW moltiplica per 8 quello già moltiplicato per 2 quindi in TEMP1 ci sarà 32

Ciao

Modificato: da drn5
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...