Vai al contenuto
PLC Forum


codice AWL che non capisco


ilguargua

Messaggi consigliati

Salve, ho delle difficoltà a comprendere l'esatto funzionamento di questo estratto di codice AWL :

 

      UN    "Crane On E.H. PB Shoot"
      U(    
      U(    
      O     "Spr.Telescope 20' Cmd"
      O     "Spr.Telescope 40' Cmd"
      O     "Spr.Telescope 45' Cmd"
      )     
      NOT   
      )     
      =     L      0.0    // ????
      U     L      0.0    //  ????
      UN    "E17.4"
      U     "E16.7"
      L     S5T#15M
      SE    "T.Crane Off No Motion"
      U     "T.PLC Start Reset 1"
      R     "T.Crane Off No Motion"
      NOP   0
      NOP   0
      NOP   0
      U     L      0.0
      U     "E17.4"
      UN    "E16.7"
      L     S5T#2M
      SE    "T25"

So che 'L' sta per 'load', cioè carica nell'accumolatore, 0.0 dovrebbe esse un REAL di valore 0, quindi in pratica setto 4 byte l'accumolatore a 0 , ma che senso ha farlo in una assegnazione (= L 0.0)? E l'and booleniano (U L 0.0) su una simile operazione che risultato da?

Oppure L 0.0 ha un significato diverso? Non sono riuscito a trovare nulla a riguardo nella documentazione, e siccome dovrei apportare delle modifiche al programma, anche se dubito di dover andare a modificare proprio quel costrutto mi piacerebbe capire prima come funziona.

 

Grazie per l'attenzione, a presto.

 

Ale.

Link al commento
Condividi su altri siti


Ciao,

L0.0 probabilmente è una variabile locale di un blocco; prima la definisce con la parte che termina con =, poi la interroga 2 volte; è stata usata per non ripetere tutto quello che c'è prima di =, le due volte che ne interroga lo stato.

L'istruzione load di cui scrivi non puo' iniziare con U o = (che sono altre istruzioni), ma si scriverebbe:

L    0.0               // questo è 0 in reale

T    varReal       // la variabile

Link al commento
Condividi su altri siti

L0.0 è una variabile booleana utilizzata all'interno del blocco. Si tratta sostanzialmente di una memoria interna che a vedere il codice sembra frutto della conversione da visualizzazione a contatti a visualizzazione in lista istruzioni. Fai conto che sia un merker qualsiasi booleano.

Link al commento
Condividi su altri siti

Grazie Drugo & pigroplc, in effetti così la cosa acquista un senso. Non ho molta esperienza nella programmazione S7, per cui non avevo capito che L indica anche le variabili locali.

 

Grazie ancora, a presto.

 

Ale.

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