ilguargua Inserito: 3 agosto 2017 Segnala Inserito: 3 agosto 2017 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.
drugo66 Inserita: 3 agosto 2017 Segnala Inserita: 3 agosto 2017 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
pigroplc Inserita: 3 agosto 2017 Segnala Inserita: 3 agosto 2017 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.
ilguargua Inserita: 3 agosto 2017 Autore Segnala Inserita: 3 agosto 2017 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.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora