Vai al contenuto
PLC Forum


Gould 884 - Interpretazione LADDER


unicleid

Messaggi consigliati

Buongiorno a tutti,

mi trovo a convertire un programma LADDER di un vecchio AEG Gould 884 verso un PLC AB Controllogix.

Vi linko tre pagine di codice http://uploading.com/files/m899bm1a/GOULD%2B884.pdf/ dove trovo serie difficoltà a capire il flusso logico. Con AB ho sempre ragionato "logicamente" da sinistra verso destra e davanti ai punti evidenziati nell'allegato non riesco a darmi una spiegazione. Qualcuno che conosce questo vecchio PLC potrebbe p.es. chiarirmi da chi è "accesa" la bobina P_1_ARR_R1 nella seconda pagina? Che seneso ha quel ZSH_021 messo in quel modo? Mi farebbe piacere capire in generale quali regole si applicano in questo particolare PLC nella gestione dei rami.

Grazie a tutti,

Uniclied

Link al commento
Condividi su altri siti


Anche questo mi pare che vada nel senso tradizionale da sinistra verso destra...il problema è che è molto disordinato e difficile da leggere forse frutto di molti rimaneggiamenti. Per quanto riguarda il ZSH_021 mi pare molto molto improbabile che l'interprete abbia accettato quel ramo al momento del download al plc. Secondo me la stampata non corrisponde a quello che cìè inmemoria. potrebbe essere in parallelo con STOP_REM o attaccato a PSL_033. Questo però lo puoi verificare solo tu conoscendo la logica impianto.

Link al commento
Condividi su altri siti

l'ingresso zsh_021 nel segmento 3, network 93 non fa nulla, è semplicemente messo lì a vuoto probabilmente per una dimenticanza (ma è ininfluente) oppure per convenienza durante il commissioning o per la manutenzione (spesso attraverso lo stesso software di programmazione si eseguiva la supervisione e la manutenzione).

Per lucky

quei PLC ed il SW di sviluppo non poneva troppi limiti per cui permette anche righe senza uscite oppure di mettere contatti totalmente slegati (in mezzo al foglio di lavoro)

Modificato: da rddiego
Link al commento
Condividi su altri siti

P_1_arr_r1 si attiva se P-1_riemp è attivo per tutto il tempo ed allo scadere di TT-24, e si autoritiene per il tempo TT_29 scaduto il quale passa al passo seuccessivo

Link al commento
Condividi su altri siti

P_1ar_tra è attivato il ciclo successivo all'attivazione di P_1_r1_tra e si disattiva solo dopo il tempo TT_27 e senza più il basso livello LSL_045 oppure senza più essere al Passo 4 della sequenza

Modificato: da rddiego
Link al commento
Condividi su altri siti

Grazie rddiego, ma ancora mi sfugge la logica di ragionamento. Ok per il discorso ZSH_021, ma ancora non mi è chiaro in che direzione viaggia il flusso logico.

Cerco di farmi capire: se io parto da P_1_RIEMP del network 93 vedo che mi attiva il timer TT24, la cui uscita (allo scadere del tempo scritto nel registro 41121) in serie con il parallelo dei negati di PSL_033 e ZSH_024 attiva P_1_ARR_R1.

Innanzitutto ti chiedo di confermarmi se questa prima parte ti risulta corretta.

Poi sempre partendo da P_1_RIEMP potrei andare in serie al negato di PSL_031 per attivare P_1_ARR_R1? Cioè si può "scendere" e "salire"?

Ti sarei grato se risucissi a spiegarmi in linea di principio quale ragionamento fare per capire questo codice (che per moltissimi network è assimilabile al "solito" ladder, ma che in alcuni come quelli allegati mi porta fuori strada).

Grazie mille,

Unicleid

Link al commento
Condividi su altri siti

quello che dici è corretto anche se impropriamente dici "scendere e salire".

Il flusso logico scorre da sinistra verso destra e può essere sviluppato su 7 righe (x 11 colonne). (Andare su e giù è la normale rappresentazione degli OR).

La particolarità sta nella scansione di questo codice da parte del processore. La scansione è verticale partendo da sinsitra verso destra.

Tradotto in coordinate la scansione avverrebbe così=

R1C1

R2C1

R3C1

R4C1

R5C1

R6C1

R7C1

R1C2

R2C2

R3C2

R4C2

R5C2

R6C2

R7C2

R1C3

...

R7C11

L'esempio più classico per capire la differenza tra questo sistema ed il Ladder di AB (ma anche gli altri maggiori) è il seguente:

prova a scrivere un semplice fronte di salita nel ladder "con scansione orizzontale"

Riga 1 -> A e Non B = C

Riga 2 -> A = B

Appena A =1 C diventa 1 poi B diventa 1 ed il ciclo successivo C ritorna =0

Invece nel LL884 facciamo tre possibili casi:

(se B e Non B sono nella Colonna 2) Appena A =1 B diventa 1 poi C diventa 1 ed il ciclo successivo C ritorna =0

(se B è nella colonna dopo Non 'B) Appena A =1 C diventa 1 poi B diventa 1 ed il ciclo successivo C ritorna =0

(se B è nella colonna prima di Non 'B) Appena A =1 B diventa 1 ma C rimarrà sempre =0

Modificato: da rddiego
Link al commento
Condividi su altri siti

Grazie mille, il discorso della scansione verticale e il tuo esempio mi sono chiari.

Ancora però non mi sembra del tutto chiaro come si interpretano tutte queste intersezioni di rami (che in AB non si possono fare).

Ripartendo da P_1_RIEMP abbiamo assodato che:

- se P_1_RIEMP è vera mi attiva il timer TT24, la cui uscita (allo scadere del tempo scritto nel registro 41121) in serie con il parallelo dei negati di PSL_033 e ZSH_024 attiva P_1_ARR_R1

- se P_1_RIEMP è vera in serie al negato di PSL_031 attiva P_1_ARR_R1

Ora secondo questa logica dovrebbe essere anche che:

- se P_1_RIEMP è vera e STOP_RIEMP è vera si attiva P_1_ARR_R1 (in sostanza STOP_RIEMP è in parallelo a non PSL_031)

Però a questo punto potrei anche partire dalla riga 7 e dalla serie P_1_ARR_R1 e non P_2_ARR_R1 e se questa serie è vera potrei "risalire" fino a P_1_ARR_R1 che si attiverebbe anche in questo caso.

In sostanza è come se in AB avessi la riga 7 in parallelo sulla colonna 2?

Grazie mille e ancora per la tua pazienza :-)

Ciao

Link al commento
Condividi su altri siti

Questo P_1_ARR_R1 dalle descrizioni sembra descrivere l'arresto della fase di riempimento della fase 1.

Se l'impianto è in fase di riempimento P_1_RIEMP, si dovrà arrestare (questa fase di riempimento) per questi motivi:

1) se premo stop STOP_RIEM

2) se la pressione PSL031 è in allarme di bassa pressione

3) se, dopo un certo tempo TT_24, la pressione PSL033 è ancora in allarme oppure la valvola 24 è ancora chiusa. (n.b. che dico "ancora" perchè il ritardo mi fa presupporre che al momento dell'attivazione di P_1_RIEMP queste due condizione siano nello stato di fermare immediatamente l'impianto e quindi serve un tempo di ritardo per permettere alla valvola 24 di aprirsi completamente ed alla pressione di portarsi al livello normale di lavoro)

le condizioni 1), 2) e 3) sono indipendenti ed in OR tra di loro (una qualsiasi di quelle attiva l'arresto.. in breve un comando di stop, uno stato non corretto dell'impianto = la valvola chiusa, e due allarmi di bassa pressione)

la riga 7 non è niente altro che l'auto ritenuta della fase di arresto e cioè una volta attivata la fase di arresto P_1_ARR_R1, questa deve rimanere attiva (dovrà dare il tempo di arrestare, svuotare, chiudere non so..) per tutto il tempo TT_29.

Appena TT_29 scade si passa alla fase 2 dell'arresto interrompendo questa.

L'autoritenuta serve perchè le condizioni che attivano la sequenza d'arresto P_1_ARR_R1 sono di breve durata.

In sostanza è come se in AB avessi la riga 7 in parallelo sulla colonna 2?

Con AB tu ti costruirai un unico RUNG dove la riga 7 è in OR a tutto quanto sopra. Per fare più pulito il tempo TT_29 lo metterei su un altro RUNG.

Modificato: da rddiego
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...