Vai al contenuto
PLC Forum


Traduzione Codice Pls :)


Pota

Messaggi consigliati

Ciao a tutti,

programmo da alcuni anni i PLC della Siemens, ma visto che il mio titolare ha sempre usato il KOP come linguaggio principale, ho imparato ad utilizzare il KOP per scrivere i miei programmi.

Mi hanno passato un SW in AWL e dovrò fare delle modifiche a quello.

Naturalmente commenti neanche l'ombra e sto cercando di capire cosa facciano le varie parti del sw per capire dove andare a fare le modifiche.

Mi sto studiando la sintassi dei vari comandi, ma alcune cose ancora mi sfuggono ed ecco perchè mi rivolgo a voi :)

In particolare:

      L     MW   170
      L     2
      *I    
      L     1600
      +I    
      ITD   
      SLD   3
      T     MD   172
      AUF   DB60
      L     DBW [MD 172]
      T     MW   176
      L     MW   176
      L     0
      ==I

Nel segmento precedente a questo si verifica che MW170 sia < 10, a questo punto, ecco la mia interpretazione:

1)Carico il valore contenuto in MW170, lo moltiplico per 2

2)Sommo al risultato 1600 (valore intero? credo di si)

3)Converto il risultato in un Doppio Intero

4)Shifto il risultato di 3 posizioni a sinistra (moltiplico quindi per 8)

5)Copio il risultato in MD172

6)Apro la DB60

7)Carico il la word all'indirizzo ottenuto precedentemente.

Deve esserci qualcosa di errato nella mia interpretazione perchè se per esempio la MW170 valesse 2, otterrei:

2*2=4

4+1600=1604

1604 (SLD 3) --> 12832

Il problema è che nella Db60 caricata, l'indirizzo massimo che trovo è +3840.0 :(

Cosa è che sto sbagliando nel tradurre? lo shift di 3 è una operazione fatta per rendere compatibile il numero per poterlo passare come indice?

Grazie a tutti,

Andrea

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