Vai al contenuto
PLC Forum


Comprendere Codice Awl


lenny76

Messaggi consigliati

ragazzi se posso intervenire..........................non sono pratico di s7 , ma di filtropresse ne ho 4 e personalmente il problema dello sgocciolamento è comune a tutti, anche con marche diverse, in quanto si sgocciola verso il basso ed il tubo è almeno nella metà del pannello, tanto è vero che molte ditte offrono un accessorio a parte che si chiama carello raccoglitore che con filtropressa chiusa si posiziona sotto, fino a quando non arriva il comando di apertura che apre anche lui facendo cosi cadere le pizze .

anche se si aumenta il tempo di acqua ne rimane sempre nella parte inferiore del pannello quindi o si aspetta ore che evapora( solo in estate) o si raccoglie nel momento in cui apre, considerando che poi qualche goccia c'è sempre anche in pressione mentre lavora.

noi abbiamo fatto in casa carelli per tutte e 4 le nostre e hanno risolto il problema .

naturalmene tutto ciò se far fare un apertura minore serve a non far sgocciolare fuori h2o,

Link al commento
Condividi su altri siti


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.

Per nulla d'accordo: un automatismo è efficace quando, per prima cosa, è funzionale alle reali necessità; 2: è facile da usare; 3: è facile da riparare; 4: è semplice apportare modifiche migliorative.

Se anche uno solo di questi punti deficia, il sistema DEVE essere migliorato.

Se questa politica non pagasse, staremmo ancora a tagliare la carne con i coltelli di selce: tanto taglia comunque, che senso ha cambiare? Da tecnico mi sento in dovere, dove un sistema ha delle falle, per quanto piccole, di pensare ad un metodo che le argini, ma posso capire che non tutti abbiano la mia forma mentis.

Link al commento
Condividi su altri siti

un automatismo è efficace quando, per prima cosa, è funzionale alle reali necessità; 2: è facile da usare; 3: è facile da riparare; 4: è semplice apportare modifiche migliorative.

Se anche uno solo di questi punti deficia, il sistema DEVE essere migliorato.

Ma su questo sono d'accordo pure io.

Analizzando il caso in questione però io la vedo così:

La domanda prima da porsi è: il posizionamento deve essere preciso, oppure basta un posizionamento approssimativo? Se deve essere preciso, fine della storia: il posizionamento a tempo non va bene.

Se partiamo invece dal presupposto che un posizionamento approssimativo vada bene, allora ci si deve chiedere: cosa succede se il movimento non viene proprio fatto, a causa di un guasto? Se si rompe qualcosa o se danneggio il prodotto, siamo di nuovo alla fine della storia: serve assolutamente qualcosa che mi garantisca che sono in posizione.

Nel caso specifico se il movimento è bloccato, me ne accorgo nella fase immediatamente successiva, quella dell'apertura completa.

Quindi, cosa succede? Succede che non ho fatto la fase di gocciolamento, poi provo a fare l'apertura, e vado in allarme. Essermi accorto dell'anomalia nella fase successiva a quella del gocciolamento ha comportato problemi?

Se sì, ecco che siamo un'altra volta alla fine della storia: è assolutamente necessario controllare la posizione.

Ma se anche a questa domanda ho risposto di no, a cosa mi serve un finecorsa in più?

Anche senza finecorsa sono nelle condizioni di:

1) macchina funzionale alle reali necessità (sempre se la precisione del posizionamento a tempo è adatta al tipo di lavoro)

2) macchina facile da usare (non devo nemmeno regolare il finecorsa, ma posso modificare la corsa da pannello operatore)

3) macchina facile da riparare (quello che non c'è non si rompe, e se non si rompe non lo devo riparare)

4) macchina che può comunque essere migliorata. Se l'aggiunta di un finecorsa porta benefici, si aggiunge il finecorsa.

Ribadisco che io non sto assolutamente affermando che il finecorsa su questo tipo di macchina (che, ripeto, io non conosco) non serva. Sto solo dicendo che, se dall'analisi si rileva che non serve, la sua aggiunta non è migliorativa.

Link al commento
Condividi su altri siti

ciao ragazzi....è davvero interessante questo forum e per me è davvero un onore avere la possibilità di confrontarmi con tutti voi visto che mi sono cimentato in questa "avventura" da poco tempo!!

facciamo un po' di chiarezza: l'apertura per lo sgocciolamento non è assolutamente vitale per il corretto avanzamento del ciclo di pressatura...però il cliente sostiene che fino a qualche tempo fa, la suddetta avesse una corsa più breve. ma questo è impossibile perchè nessuno ha messo mani al plc e non credo che il programma sia in grado di automodificarsi...giusto??? il vero problema è la pompa dei fanghi che va in cavitazione e non riesce a raggiungere la giusta pressione (5bar) e siccome il segnale di fine pressatura al plc glielo invia un sensore di pressione, non ci troviamo mai ai conti perchè a seconda che i fanghi siano più o meno liquidi la pressione cambia e quindi il segnale o arriva troppo presto o non arriva. per dirla tutta questa è stata la vera pecca di questo sistema di automazione...cioè l'aver usato un pressostato per "comandare" tutto il ciclo quando invece, su molti altri filtri pressa, questo compito spetta a delle sonde di livello.

nel fine settimana inserirò il segmento incriminato con la procedura che ho seguito per modificare il parametro in questione...mi auguro di averci preso!!

a presto e buona giornata/serata a tutti

Link al commento
Condividi su altri siti

ecco il segmento

:U     E0.0
:U     M20.1
:U     E0.1
:A     DB11
:LC     T2
:L     DW2
:SE     T2
:U     T2
:U     E0.1
:U     E0.0
:A     DB11
:LC     T3
:L     DW3
:SE     T3
:U     T3
:S     M20.0
:***

il temporizzatore deputato al controllo dell'apertura per lo sgocciolamento è il T2, tarato a 5 secondi...

allora ho editato il blocco DB11 e mi è venuto fuori questo

0:     A=019,000;
1:     A=017,000;
2:     A=005,000;
3:     A=017,000;
4:

e ho dato questa interpretazione:

:A DB11 richiama blocco DB11

:LC T2 carica temp. 2

e ho corretto A=005,000 in A=002,000

2 secondi invece di 5

Link al commento
Condividi su altri siti

Una cosa non capisco: il segmento è quello originale e tu hai solo modificato il valore di DW2 in DB11, oppure hai scritto tu il codice?

Te lo chiedo perché, con quel codice, il sistema funziona ma c'è da fare qualche precisazione.

Cominciamo dalle istruzioni LC T2 e LC T3.

L'istruzione "LC Txxx" serve per leggere il valore corrente del timer. Diciamo che, dove sono messe, non creano danni perché il valore corrente dei timer viene solo letto ma non viene trasferito da nessuna parte.

Quindi queste due istruzioni le puoi tranquillamente eliminare.

Per il resto, si deve fare un minimo di teoria sui timer S5.

Il preset di un timer S5 si imposta come segue:

- bit da 12 a 15: contengono l'impostazione della base tempi: 0 = 10 ms; 1 = 100 ms; 2 = 1 s; 3 = 10 s.

- bit da 0 a 11: contengono il valore di preset in formato BCD (quindi da 0 a 999)

In S5 puoi scegliere la visualizzazione in esadecimale (KH) e considerare quindi il digit più a sinistra quello della base tempi, e gli altri tre digit quelli del valore di preset.

Esempio:

KH=0500 significa base tempi = 10 ms e valore di preset = 500. Risultato: 500 x 10 = 5000 ms.

Puoi anche scegliere la visualizzazione in formato KT, che ti fa vedere il valore di preset e, diviso da una virgola, la base tempi.

In questo caso un valore di 5000 ms verrebbe visualizzato come segue:

KT= 500,0

Vediamo cosa contengono le variabili DW2 (preset del timer T2) e DW3 (preset del time T3).

Il formato di visualizzazione da te scelto (con il valore dei due byte divisi dalla virgola) non è certo il più adatto allo scopo.

Comunque, per DW2 abbiamo il byte sinistro ed il byte destro che valgono rispettivamente 5 e 0.

Se li considero come un'unica word e leggo il valore in esadecimale, mi trovo:

KH=0500

Ovvero (per quanto detto sopra), un ritardo di 5000 ms.

Facendo lo stesso discorso per DW3, con i due byte che valgono 17 e 0, letti come word in esadecimale mi trovo:

KH=1100 (17 in decimale è 11 in esadecimale), ovvero; base tempi = 100 ms e preset = 100. Risultato: 100 x 100 = 10000 ms.

Riassumendo:

- le istruzioni LC T2 e LC T3 sono assolutamente inutili

- il valore impostato in DW2 corrisponde alle tue aspettative (valore originale 5 secondi modificato in 2 secondi) ma ti consiglio vivamente di visualizzare il dato in un formato più comodo per i timer, ovvero KH o KT.

Link al commento
Condividi su altri siti

ciao batta,

il segmento è quello originale...non sono ancora in grado di scrivere codici!!!

come mi hai consigliato ho editato il blocco in formato KH ed il risultato è il seguente

0:     KH=1300;
1:     KH=1100;
2:     KH=0500;
3:     KH=1100;
4:

quindi se ho afferrato quello che hai scritto prima dovremmo trovarci con i conti giusto?

a questo punto vorrei chiedere un altro paio di cosette:

- sulla macchina è inserita anche una eprom...posso toglierla in modo da tenere una ulteriore copia del programma originale e far girare il programma nel plc senza di essa (la eprom)? basta sfilarla o devo avere alcune accortezze?

- per trasferire il programma modificato da pg ad ag devo prima resettare la memoria dell'ag o il programma viene semplicemente sovrascritto?...

PS: per editare il blocco in formato KH ho dovuto caricare lo stesso progetto che avevo salvato nel pg con un nome diverso...non sono riuscito a capire come cambiare il formato di editazione del blocco da A a KH....mi dite come si fa???

Link al commento
Condividi su altri siti

- sulla macchina è inserita anche una eprom...posso toglierla in modo da tenere una ulteriore copia del programma originale e far girare il programma nel plc senza di essa (la eprom)? basta sfilarla o devo avere alcune accortezze?

Ma non c'è un pannello operatore?

La Eprom la puoi anche lasciare. Unico problema è che se si corrompe il programma contenuto nella RAM (per batteria tampone scarica o per altri motivi) viene ricaricato il programma presente nella Eprom, compresi a valori delle variabili dei DB.

Se c'è un pannello operatore non c'è bisogno di apportare nessuna modifica al programma. A meno che il valore di DB11.DW2 non sia scritto da qualche parte nel programma, e non solo memorizzato nel DB.

In caso di ripartenza con programma caricato dalla Eprom, basta reimpostare il tempo corretto.

- per trasferire il programma modificato da pg ad ag devo prima resettare la memoria dell'ag o il programma viene semplicemente sovrascritto?...

Ti chiede conferma, e sovrascrive. Non devi fare nessun reset.

PS: per editare il blocco in formato KH ho dovuto caricare lo stesso progetto che avevo salvato nel pg con un nome diverso...non sono riuscito a capire come cambiare il formato di editazione del blocco da A a KH....mi dite come si fa???

Nel programma "PG2000" (quello che io uso per programmare S5) basta scrivere "KH" al posto di "A". Nello Step5, che io non uso da più di 10 anni, non mi ricordo.

Link al commento
Condividi su altri siti

niente pannello operatore.....

quindi posso procedere!?

per adesso ringrazio tutti, specialmente batta per le preziose dritte....

vi tengo aggiornati con gli sviluppi della vicenda

ciao

Link al commento
Condividi su altri siti

Visto che non hai la possibilità di cancellare e riprogrammare la eprom, ti conviene semplicemente modificare il valore della DW2 del DB11, impostando il valore KH=0200 oppure KT=200.0 per impostare un tempo di due secondi.

Se vedi che il valore che tu imposti viene mantenuto, significa che non viene sovrascritto da altre istruzioni nel programma. A questo punto, hai finito la modifica.

Che poi non si può nemmeno parlare di modifica, perché non hai minimamente toccato il codice, ma hai solo impostato il preset di un timer, come faresti se ci fosse un pannello operatore.

Se, per qualsiasi motivo, dovesse venire ricaricato il programma dalla eprom, unico inconveniente al quale andresti incontro è che verrà ricaricata la vecchia impostazione.

Link al commento
Condividi su altri siti

in S5 per modificare il formato della DW basta posizionare il cursore nel punto da modificare F3 per inserire DF e digitare il formato desiderato

comunque onde evitare problemi credo che la eprom la toglierò completamente....

ancora grazie Sig. batta :thumb_yello:

Link al commento
Condividi su altri siti

Aggiungo anch'io un paio di suggerimenti a quelli, come al solito perfetti, di Batta.

Come ti ha detto Batta se lasci la eprom vecchia e succede qualcosa (il più classico è la batteria scarica) viene ricaricato il programma della eprom; se però levi la eprom è ancora peggio perchè se, ad esempio, si scarica la batteria il programma sparisce e la macchina si ferma.

Un altro consiglio riguarda la sovrascrittura di blocchi (quindi non la semplice modifica on line dei valori della DB): ho letto all'inizio che il plc è una serie 100, guarda qual è la cpu utilizzata perchè mentre le cpu 101 e 103 non danno particolari problemi, la 102 potrebbe obbligarti a cancellare quello che c'è nella cpu e ricaricare tutto dal pc/pg (in pratica potrebbe non consentirti di fare una semplice sovrascrittura di alcuni blocchi).

Ciao.

Massimo

Link al commento
Condividi su altri siti

  • 3 weeks later...

ehi ragazzi tutto liscio....problemi risolti almeno per adesso!!!!

grazie a tutti per la collaborazione!! spero a breve di poter esser anch'io di aiuto per qualcun altro

alla prossima.....

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