Vai al contenuto
PLC Forum


Comprendere Codice Awl


lenny76

Messaggi consigliati

ciao a tutti,

non sono proprio nuovo del forum ma è la prima che scrivo in quanto ho iniziato da poco a smanettare con i plc...

e a quanto pare ho iniziato con quello più ostico....l'S5!!!

comunque...ho scaricato il programma da un S5 CPU 100 sul quale dovrei fare delle piccole modifiche, impresa alquanto ardua visto che non ci sono commenti di nessun genere sugli ingressi le uscite i merker etc... e come se non bastasse solo due segmenti sono editabili in KOP, tutti gli altri solo in AWL del quale non ci capisco quasi un tubo

mi sono armato di manuale e quant'altro ma non credo di avere le basi per farcela da solo

la mia domanda è questa: se allego una stampa del programma in AWL qualcuno ha la santa pazienza di aiutarmi a capirci qualcosa??

attendo notizie!!!!

Link al commento
Condividi su altri siti


Giuseppe Signorella

Una piccola nota OT.

I titoli delle discussioni, più attinenti sono all'argomento trattato e più facilmente riceverai aiuto. ;)

Questa volta l'ho corretto, la prossima..............

Buon proseguimento.

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Ciao Lenny,

interpretare un codice senza nessun commento penso sia molto arduo,

forse conviene prima cercare d'inserire tutti i commenti possibili ,

partendo dallo schema elettrico e i primi merker intuibili.

rr

Link al commento
Condividi su altri siti

Adelino Rossi

se è un 100 l'impianto non dovrebbe essere complesso

non dovrebbe essere difficile rilevare, penna e quaderno lo schema elettrico degli ingressi e delle uscite.

da qui si compila il file di I/O in step 5.

si compila la lista incrociata in unione al programma di backup xxxx.s5d.

si ottiene una prima stampa fatta da lista I/O, lista incrociata, occupazione di memoria e lista programma.

nella lista programma compariranno gli I/O editati prima.

da qui con pazienza si può iniziare a ricostruire frammenti di programma.

ci vuole pazienza.

il manuale è reperibile in italiano in formato pdf in rete.

Modificato: da Adelino Rossi
Link al commento
Condividi su altri siti

la mia domanda è questa: se allego una stampa del programma in AWL qualcuno ha la santa pazienza di aiutarmi a capirci qualcosa??

Se spieghi esattamente cosa devi fare, senza tralasciare informazioni, sicuramente troverai qualcuno disposto ad aiutarti, dato che il forum esiste proprio per condividere tra tutti nozioni che siano di aiuto generale.

Link al commento
Condividi su altri siti

Se ti serve un aiuto per capire il funzionamento di piccole parti di codice, troverai sicuramente molti disposti a darti una mano.

Se invece intendi una interpretazione completa di tutto il codice, la vedo molto dura.

Tutto dipende, ovviamente, dalla lunghezza del programma, ma è un lavoro che potrebbe richiedere da qualche ora a parecchi giorni.

Link al commento
Condividi su altri siti

innanzitutto chiedo scusa per la piccola svista e ringrazio il moderatore per la correzione....

premesso poi che devo studiarmi per bene questo codice awl, il mio problema ora è che ho una macchina sulla quale bisogna intervenire in tempi, per quanto possibile, brevi...

come dicevo, ho scaricato il programma che ovviamente è privo di commenti!!!

diciamo che con un po' di pazienza sono riuscito a risalire, con l'ausilio dello schema elettrico, alla funzione degli ingressi e delle uscite

la macchina in questione è un filtro pressa della galigani; lo dico nel caso qualcuno ci abbia mai lavorato su...

il mio problema è individuare quella parte di programma che interviene su una fase della lavorazione per modificarne la durata; mi spiego meglio....

la macchina ha un pistone idraulico che comprime una serie di pannelli all'interno dei quali vengono pressati i fanghi di lavorazione per poi essere smaltiti

quando finisce la pressata questo pistone si allarga per un attimo, si arresta per far sgocciolare l'acqua residua e poi si apre completamente lasciando cadere le pizze di fango

ecco, io dovrei intervenire sulla prima apertura del pistone in modo da fargli fare una corsa più breve...

se collego il pc alla macchina e la metto in lavorazione c'è la possibilità di capire quale parte del programma è interessata durante le varie fasi di lavorazione??

un po' come succede con lo step7 che mi fa vedere quali ingressi e uscite vengono abilitati durante l'avanzamento del programma.

poi un paio di curiosità:

1) come mai solo un paio di segmenti del programma sono editabili in kop ed in awl mentre tutti gli altri solo in awl?

2) mi sono accorto che una delle uscite del plc....scrivo un trafiletto del programma

.....

.....

....

:U(

:U M25.1

:o

:U E0.2

:U E1.6

:)

:U A2.2

:= A3.3

A3.3 in rosso dovrebbe comandare un attuatore in uscita giusto?? solo che l'uscita corrispondente non è affatto cablata!!!

mi fermo qui, troppa carne al fuoco!!!!

a presto!!!!


chiedo scusa, le emoticon sono involontarie...

la prima corrisponde a due punti O

la seconda a due punti )

Link al commento
Condividi su altri siti

Quando scrivi del codice, usa il tastino <> nella barra degli strumenti (il 12° da sinistra nella seconda riga)

Oppure aggiungi

[code] e [/code]

rispettivamente all'inizio e alla fine del codice.

Il risultato sarà il seguente:

:U(
:U M25.1

:U E0.2
:U E1.6

:U A2.2
:= A3.3 

Il fatto che l'uscita sia programmata ma non cablata, significa che, probabilmente, sono state fatte delle modifiche.

se collego il pc alla macchina e la metto in lavorazione c'è la possibilità di capire quale parte del programma è interessata durante le varie fasi di lavorazione??

un po' come succede con lo step7 che mi fa vedere quali ingressi e uscite vengono abilitati durante l'avanzamento del programma.

Certo che sì, anche se la visualizzazione degli stati è molto meno pratica che in Step7.


1) come mai solo un paio di segmenti del programma sono editabili in kop ed in awl mentre tutti gli altri solo in awl?

Succede così anche in Step7. Se il codice scritto in AWL è convertibile in KOP, puoi visualizzarlo in tutti e due i modi (anzi, tre: c'è anche il FUP). Se il codice non è convertibile in KOP, puoi visualizzarlo solo in AWL.

Link al commento
Condividi su altri siti

come dicevo, ho scaricato il programma che ovviamente è privo di commenti!!!

Questa non è una cosa fuori dalla consuetudine con i dispositivi Siemens: i commenti sono residenti solo sul progetto salvato, nella maggior parte delle volte, con il codice originale sul pc del progettista; tutti i file facenti parte del progetto non vengono caricati nella cpu, ma solo il file con estensione .S5D. Anche nelle cpu più recenti avviene questo (200, 300 e 400) mentre appena oggi, con la serie 1200-1500, Siemens si approccia all'archiviazione di tutto nella memoria del plc.

ecco, io dovrei intervenire sulla prima apertura del pistone in modo da fargli fare una corsa più breve...

Anche se ho avuto poca esperienza di lavoro con i filtri pressa e le conosco come macchine piuttosto semplici, mi chiedo se davvero sia la soluzione migliore intervenire sul tempo di apertura o, per esempio, visto che devi diminuire l'apertura della prima fase, rallentare il flusso dell'olio del pistone sulla centralina oleodinamica per ottenere lo stesso risultato: utilizzare un temporizzatore per regolare una corsa od una posizione, per quanto la macchina sia semplice, mi è sempre sembrata una bestialità.

Certo che sì, anche se la visualizzazione degli stati è molto meno pratica che in Step7.

Questo invece dipende tanto dalla familiarità che si ha con Step 5.

Link al commento
Condividi su altri siti

Devi collegarti con PC dotato di interfaccia PC-PLC e del relativo pacchetto S5; poi vai in run e visualizzi "on line" lo stato del programma. Questo in modo simile a microwion e Step7. Solo che l'interfaccia è molto meno potente.

Link al commento
Condividi su altri siti

busanela

utilizzare un temporizzatore per regolare una corsa od una posizione, per quanto la macchina sia semplice, mi è sempre sembrata una bestialità.

perchè una bestialità??

proverò a collegarmi e a vedere cosa succede.....grazie Sig. Orsini.....

ora sto cercando di tradurre in KOP, i segmenti del blocco programma ma ce n'è uno che proprio non riesco a decifrare....lo posto...

:U        E0.0
:U(
:U(                                                     01
:ON     M25.0                                     02
       M25.1                                     02
                                                       02
:U        E0.1                                       01
:U        E1.3                                       01
:UN     M20.0                                     01
                                                      01
:U        E0.2                                       01
:U(                                                     01
:U        E0.5                                       02
                                                      02
:U        E1.6                                       02

:)
:U       E0.7
:=       A2.2
:U       E1.5
:U(
       M20.0                                      01
       E1.7                                         01
                                                        01
:S       M25.0
:UN     E0.1
:R       M25.0
:U       E0.1
:U       E0.7
:U       M25.0
:S       M25.1
:U(
:U       M25.1                                        01
                                                        01
:U       E0.2                                          01
:U        E1.6                                         01
                                                         01
:U      A2.2
:=       A3.3
:U       M25.1
:L        KT 010.2
:SE     T 15
:U        T 15
:R         M25.1
:
:
:       +++

cosa sono quei numeri 01 02 posti al fianco di alcuni comandi?? diciamo che fino al comando :S M25.1 credo sia abbastanza chiaro ma da lì in poi nebbia totale!!!!



Link al commento
Condividi su altri siti

Quote

perchè una bestialità??

Semplicemente perchè non è possibile controllare con certezza l'evento: se la pompa ha un trafilamento idraulico, se il pistone ha una tenuta imperfetta, se c'è un inceppamento meccanico, e altri 10 "se", io non sono sicuro di aver effettivamente espletato il movimento con la pausa richiesta: il tempo impostato trascorre comunque anche se (nel tuo caso) la pressa non si è aperta.

Io sono convinto che qualunque ciclo debba essere verificato in feedback da un sensore, un encoder, una fotocellula, un bero, etc. etc., questo è quello che, in linea generale (ma non solo), fa la differenza da una automazione "fai da te" ad una professionale;

In questo caso, eventuali modifiche al ciclo future, potrebbero richiedere semplicemente lo spostamento della posizione del micro di posizione della fase di sgocciolamento, che può fare anche benissimo un manutentore con un cacciavite.

Link al commento
Condividi su altri siti

cosa sono quei numeri 01 02 posti al fianco di alcuni comandi??

Ho dimenticato di risponderti alle altre domande: i numeri di fianco alle istruzioni tra parentesi definiscono il grado di annidamento o, più semplicemente, il livello di parentesi a cui appartiene l'istruzione della riga.

fino al comando :S M25.1 credo sia abbastanza chiaro ma da lì in poi nebbia totale!!!!

Le ultime righe non mi sembrano più complesse delle precedenti: l'uscita 3.3 si attiva, se è attivata anche l'uscita 2.2, o attraverso la memoria 25.1 o attraverso l'attivazione contemporranea degli ingressi E0.2 ed E1.6 (mi sembrano il comando manuale); in automatico (ma è da verificare se la mia ipotesi è corretta) rimane attivata solo per 10 secondi, poi si auto-resetta M25.1.

Se il programma fosse stato fatto "segmentando" ogni ramo corrispondente ad una uscita o temporizzatore, il tuo programma sarebbe stato più leggibile e sicuramente convertibile in KOP o FUP: questo è quello di cui parlavo quando mi riferivo alla professionalità.

Modificato: da busanela
Link al commento
Condividi su altri siti

Io sono convinto che qualunque ciclo debba essere verificato in feedback da un sensore, un encoder, una fotocellula, un bero, etc. etc.

Sul fatto che uno spostamento controllato a tempo non possa essere preciso, impossibile non essere d'accordo.

Sul fatto che un controllo a tempo sia sempre una porcata, non sono invece d'accordo.

La domanda che ci si deve porre è: nel caso trascorso il tempo mi ritrovassi con l'organo meccanico in una posizione diversa da quella che avevo previsto, cosa succede?

Se una simile anomalia causa danni, allora un controllo a tempo è una porcata; se invece non succede nulla di grave, non capisco perché si dovrebbe complicare la macchina aggiungendo cose inutili.

Nel caso specifico, mi pare di capire che se non riesco a fare la prima apertura per il gocciolamento, non succede proprio nulla di grave. Se c'è un guasto che mi impedisce di aprire, me ne accorgerò subito dopo perché non riuscirò a fare l'apertura completa (sulla quale, penso, ci sarà un finecorsa).

Quindi è sicuramente poco professionale risparmiare su controlli utili, ma cerchiamo anche di non esagerare aggiungendo controlli inutili. E non dimentichiamo che: quello che non c'è non si rompe.

Link al commento
Condividi su altri siti

E' mia opinione che, se un dispositivo che è stato studiato, pensato e costruito per fare una determinata cosa e non la fa o esiste anche una sola possibilità che non la faccia bene (e per bene intendo che faccia quello per cui è concepita) è di per se stessa una bestialità (termine che preferisco a "porcata") e qualunque cosa che possa portare a migliorarne la funzionalità non è sicuramente tempo perso. La teoria che quello che non c'è non si rompe è solo in parte nella mia filosofia professionale: l'essenzialità è fondamentale ma ha poco senso rischiare di non far compiere in sicurezza, e con sicurezza intendo che venga compiuto sicuramente, un ciclo macchina solo per risparmiare il costo di un micro o per la paranoia che un domani possa essere sede di guasto. Un finecorsa in più non mi sembra una complicazione, e tanto meno, inutile.

In ogni caso, evitando di andare OT anche questa volta, seguendo la scia delle discussioni in cui mi travolgi sempre caro Flavio, dando uno sguardo al coacervo di istruzioni buttate una dietro l'altra come in un girone dantesco, non c'è da stupirsi se non sono state fatte determinate considerazioni in fase di costruzione e progetto.

Modificato: da busanela
Link al commento
Condividi su altri siti

beh...vedo che la discussione si fa interessante!!!comunque, se può servire a sadare gli animi, la macchina è provvista di un sensore di pressione differenziale che in caso di perdite o quant'altro inibisce il plc nell'espletamento delle sue funzioni....quindi non credo che chi ha progettato la macchina sia proprio uno "sprovveduto"......

tornando a noi....sono riuscito a visualizzare lo stato del programma e ad individuare il settore coinvolto nella prima fase di apertura del pistone.....

adesso studio un po' come variare il tempo di apertura (spero di riuscire) e vi faccio sapere.....

Link al commento
Condividi su altri siti

Personalmente mi son (quasi) sempre rifiutato di affidarmi al solo tempo per determinare uno spostamento.

...se non riesco a fare la prima apertura per il gocciolamento, non succede proprio nulla di grave..

C'è da chiedersi se la fase è necessaria o no.

Se non è necessaria è inutile farla. Se è necessaria deve essere fatta. Questo mi pare lapalissiano.

Se la fase deve essere fatta e decido di affidarmi al solo tempo per determinare lo spostamento, devo scegliere un tempo tale che, nel caso pessimo, comunque si effettui l'apertura e sempre ne caso pessimo inverso l'apertura non sia tale da causare danni.

Presumo, ma è solo una mia ipotesi, che il Sw originale abbia determinato il tempo proprio in base a questa filosofia.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

se può servire a sadare gli animi,

Non ti preoccupare: tra me, Batta e livio c'è sempre un confronto aperto ma il carattere è sicuramente gioviale, goliardico e basato sul rispetto e la stima reciproca.

C'è da chiedersi se la fase è necessaria o no.

Se non è necessaria è inutile farla. Se è necessaria deve essere fatta. Questo mi pare lapalissiano.

Citando una frase di un film di Totò: " ... Vogliamo parlarne? Siamo tutti d'accordo? Parliamone!", ma che non mi si accusi di essere OT.

Livio in 1 riga e mezza ha espresso il nucleo del concetto a cui mi riferivo nel mio post! :clap:

quindi non credo che chi ha progettato la macchina sia proprio uno "sprovveduto

Non ho parlato di impreparazione: inesperienza forse, ingenuità e superficialità anche, ma non impreparazione; del resto, lo hai constatato anche tu, il programma (se è tutto come le righe che hai postato) è malamente leggibile: qualche segmento di più e magari qualche blocco aggiuntivo, avrebbero dato al programma quel tocco che ora mi sembra proprio che manchi.

Link al commento
Condividi su altri siti

Dunque, io non conosco la macchina in questione, ma mi pare di avere capito che un pistone pressa qualcosa, poi deve aprire ma solo un po' per lasciar gocciolare, poi deve aprire completamente per far cadere quello che ha pressato.

Ora, considerando che:

1) l'affidabilità dei movimenti oleodinamici è molto elevata

2) un movimento oleodinamico (salvo rare eccezioni) o funziona o non funziona

3) non credo ci sia bisogno di grande precisione per la fase di gocciolamento

andare ad aggiungere un finecorsa mi sembra di scarsa rilevanza.

Alla fine, quali sarebbero i reali benefici? Che potrei regolare con maggior precisione una corsa che non mi interessa che sia precisa, e che potrei accorgermi un attimo prima di un'anomalia assolutamente non distruttiva e che, probabilmente, in tutta la vita della macchina non accadrà mai.

Inoltre bisognerebbe conoscere la macchina per capire se l'installazione di un sensore è facile oppure no. E si deve considerare che deve essere facile anche la regolazione.

Con il tempo, mi basta modificare un parametro.

Ci sarebbe, ovviamente, la soluzione ottimale da un punto di vista puramente tecnico: l'installazione di un trasduttore di posizione. In questo caso, non avrei differenze di corsa tra olio caldo o freddo, e potrei sempre impostare la corsa da pannello operatore.

Però questa soluzione ha dei costi che potrebbero essere non proprio banali. Se i costi sono elevati ed i benefici quasi irrilevanti, io ritengo sia meglio ponderata la scelta di una rozza regolazione a tempo.

tornando a noi....sono riuscito a visualizzare lo stato del programma e ad individuare il settore coinvolto nella prima fase di apertura del pistone.....

adesso studio un po' come variare il tempo di apertura (spero di riuscire) e vi faccio sapere.....

Nel caso non riuscissi, se posti le righe di codice possiamo darti una mano.

Link al commento
Condividi su altri siti

Durante le missioni Apollo la N.A.S.A. si trovò a dover risolvere, tra i tantissimi problemi, anche quello delle penne biro che, in assenza di gravità, non funzionavano.

Il problema fu risolto pressurizzando la carica, in modo da spingere sempre l'inchiostro verso la sfera.

I russi invece... usavano le matite.

A volte la soluzione più semplice non ha nulla da invidiare a quella tecnologicamente più avanzata.

Poi, è pur vero che gli americani sulla luna ci sono arrivati ed i russi no, ma non certo per colpa delle matite.

Link al commento
Condividi su altri siti

Non credo che la scelta di non usare le matite in grafite fosse solo...non averci pensato. Per la tecnologia USA le missioni spaziali non son mai state fine a se stesse, ma anche un laboratorio di ricerca e verifica di prestazioni estreme. Credo che la scelta di utilizzare penne a sfera di tipo speciale sia stata una scelta ben precisa.

E' il solito problema del dito che indica la luna. C'è chi dice che lo sciocco si limita ad osservare la luna, mentre la persona intelligiente osserva chi indica la luna. Io mi chiedo perchè quella persona indica la luna.

Link al commento
Condividi su altri siti

Alla fine, quali sarebbero i reali benefici? Che potrei regolare con maggior precisione una corsa che non mi interessa che sia precisa

Mi sembra che tutto sia nato dall'esigenza di Ienny76 di regolare la posizione di pre-apertura in un punto differente da quello di default: un eventuale finecorsa renderebbe quest'operazione sicuramente più facile da espletare da chiunque, alla luce poi delle sue difficoltà nel trovare il punto in cui questo tempo viene impostato!

A volte la soluzione più semplice non ha nulla da invidiare a quella tecnologicamente più avanzata.

E tu proporresti, alla luce di quanto hai affermato, un trasduttore di posizione ed un pannello operatore??? Un micro no, una modifica totale dell'automazione sì??? ... Guarda che sei proprio forte! ....

Poi, è pur vero che gli americani sulla luna ci sono arrivati ed i russi no, ma non certo per colpa delle matite.

Forse è dipeso anche dalle risorse investite nel progetto, tra cui gli studi per le penne anti-gravità; più in piccolo, spendendo qualche risorsa in più in fase progettuale magari non ti porta alla luna ma a realizzare un'automazione degna di tale nome.

... Ma come siamo arrivati da un filtro pressa alla luna??? Credo siamo un pò OT, o no?

Link al commento
Condividi su altri siti

E tu proporresti, alla luce di quanto hai affermato, un trasduttore di posizione ed un pannello operatore??? Un micro no, una modifica totale dell'automazione sì??? ... Guarda che sei proprio forte! ....

E dove sarebbe che ho scritto che io propenderei per la soluzione con trasduttore di posizione?

Era solo per dire che tutte le cose si possono sempre migliorare. Si deve però valutare se il costo di tale miglioramento vale la complicazione e la spesa.

Credo di aver espresso, al riguardo, la mia opinione sul caso in questione in modo piuttosto chiaro: per questo tipo di applicazione, il rozzo sistema con timer potrebbe (uso il condizionale perché non conosco la macchina) andare benissimo.

... Ma come siamo arrivati da un filtro pressa alla luna??? Credo siamo un pò OT, o no?

Non così tanto. Era solo un esempio di come, talvolta, le soluzioni più semplici possano essere altrettanto efficaci. Lo scopo era di scrivere su un notes, e la matita andava bene quanto la penna speciale.

spendendo qualche risorsa in più in fase progettuale magari non ti porta alla luna ma a realizzare un'automazione degna di tale nome.

Nel caso in questione, io sono dell'idea che aggiungere un finecorsa non apporti miglioramenti degni di nota. Non è da un finecorsa in più o in meno che si può definire se un'automazione sia ben fatta o meno.

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