Vai al contenuto
PLC Forum


Awl


cobe

Messaggi consigliati

ciao, avrei bisogno che qualcuno gentilmente mi spiegasse cosa viene fatto con le seguenti istruzioni AWL, perchè secondo voi L4 poi SLW 3 e poi L-4 e nuovamente SLW 3?

L #VAR_Nr //numero intero

L 1

-I

L 4

*I

SLW 3

T "AUX_FW_005" //variabile WORD di appoggio

L -4

SLW 3

T "AUX_FW_006" //variabile WORD di appoggio

Ciao

Grazie

Link al commento
Condividi su altri siti


A prima vista, sembra che le prime sette righe siano per creare un indirizzo al quale puntare indicando il numero di una variabile da 32 bit.

La sottrazione di una unità potrebbe, infatti, servire ad allineare l'indice della variabile a zero, la moltiplicazione per 4 per calcolare il numero del byte (variabile da 32 bit), e SLW3 per puntare al bit, come richiesto per l'utilizzo dei puntatori in S7.

Se è così, diciamo che il codice contiene alcune inesattezze.

Fino a quando l'indirizzo del byte non supera 4095 tutto funziona ancora ma, per un pignolo come me, usare una variabile INT quando sarebbe corretto usare una DINT, anche se funziona io lo considero un errore.

E', a mio avviso, segno di scarsa cura nella scrittura del codice.

Potrebbe però trattarsi anche di qualcosa di completamente diverso, nel qual caso le considerazioni appena fatte perderebbero di significato.

Per quanto riguarda le ultime tre righe, non mi viene in mente nulla, anche perché bastava scrivere W#16#FFE0.

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