Vai al contenuto
PLC Forum


S5 150a


qsator

Messaggi consigliati

D'accordo... ma comunque verifica bene nel REGIN che ti segnala un STOPZUS e non un STOZUS ;)

Modificato: da Savino
Link al commento
Condividi su altri siti


  • Risposte 62
  • Created
  • Ultima risposta

Top Posters In This Topic

  • qsator

    27

  • Savino

    16

  • Gabriele Corrieri

    7

  • rguaresc

    5

Ciao Savino, avevi ragione tu per lo stopzus era una richiesta esterna.

Attraverso la procedura che mi hai dato ho trovato il richiamo al FB245 mi portava la cpu in STOP. Tolto il richiamo la cpu và perfettamente in RUN e tutto mi funziona.

Sono andato a vedere FB245, ecco il codice:

NAME: ZY/MPX

UN M 50.0
BEB
L MB 54
L MB 55
SLW 8
OW
SLW 1
L KB0
><F
SPB =M001
BEA (ho messo il bea in questa posizione ed ho escluso la parte di trasferimento, è importante questa parte secondo te?)
L KB 1
T MB 54
L KB 0
T MB 55
BEB
M001: TAK
T MB 54
SRW 8
T MB 55
:BE

Premetto che per individuare la parte di codice incriminato ho seguito la procedura che tu mia consigliato. Ed ho trovato che in tale posizione il plc non si arrestava. Com'è possibile che un semplice trasferimento di accumulo mi possa portare in STOP. Sicuramente c'è una condizione di owerfloaw.

Grazie Savino.

Link al commento
Condividi su altri siti

Dunque, diciamo che questo pezzettino di codice non ci dice cosi tanto...

Il mio dubbio sarebbe il perche' prima funzionava ed all'improvisso non.. Visto che la merker M50.0 se =1, fa l'abilitazione al proccesso delle istruzioni successive dopo il BEB, e poi se tutta quella serie di caricamenti, scorrimento bit a sinistra di 8 posizioni, l'OR logico, piu'lo scorrimento bit ancora a sinistra di 1 pos., confrontato se diverso da zero, e quindi se il RLC del confronto e' = a zero, passa il controllo alla esecuzione delle istruzioni dopo il salto SPB ...

Non e' che avete in questi ultimi giorni implementato del nuovo codice utilizzato la MW50, MB50, M50.0 da qualche altra parte del programma, oppure la MW54, MB54, MB55.... fai una verifica, una lista incrocciata..

Se poi, non riesci a trovare niente, lascia il BEA e prova a vedere cosa e' cambiato nel funzionamento globale del proccesso.

Bisogna fare feeback per capire di piu' ;)

Modificato: da Savino
Link al commento
Condividi su altri siti

Se poi, non riesci a trovare niente, lascia il BEA e prova a vedere cosa e' cambiato nel funzionamento globale del proccesso
A questo punto, direi meglio di scrivere un BEB l posto del BEA, cosi fai un break solo all'interno del FB245 e i blocchi successivi possono venire ancora elaborati. Altrimenti il BEA, ti porta a capo alla prima istruzione nell'OB1. ;) Modificato: da Savino
Link al commento
Condividi su altri siti

Ciao Savino, Per dirti la verita il programma della macchina non ho mai pensato di modificarlo, anzi stiamo proveddendo a cambiare plc, cercando di capire il sistema in modo da portarlo su S7.Abbiamo provedduto a cambiare alcuni quadri comando situati a diversi punti dell'impianto, però erano tutti quadri di comando di motori per ventole e serrandi di apertura dei flussi d'aria.

Il REGIN mi segnalava un STOZUS. Ora tutto ok!

Vado in ditta per vedere di modificare il BEA con BEB. Pensavo che BEA in quella posizione ti facesse solo uscire dalla FB. :huh:

Ti faccio sapere come si comporta!

GRazie!

Link al commento
Condividi su altri siti

Ciao qsator,

Dunque, diciamo che ti avevo detto di usare il BEA nel OB1, per capire dove si trovava l'inghippo.. poiche' per scavalcare un insieme di istruzioni dentro un singolo blocco, potresti scrivere BEB oppure gli racchiudi dentro un blocchetto di salto assoluto ( incondizionato) SPA.

NAME: ZY/MPX

UN M 50.0
BEB
L MB 54
L MB 55
SLW 8
OW
SLW 1
L KB0
><F
SPB =M001
SPA =M002  // salto incondizionato alla ettichetta M002
L KB 1
T MB 54
L KB 0
T MB 55
BEB
M001: TAK
T MB 54
SRW 8
T MB 55
M002:NOP 0
BE
Potresti anche sostituire la M 50.0 per una merker non utilizzata nel programma e allora :
U  M 0.0  // questa merker non deve essere utilizzata dal programa e deve restare a zero.
BEB
L MB 54
L MB 55

Mi sa che forse il BEA potrebbe andare bene, gia' che chiamato dentro un singolo blocco, ritornarebbe il flusso all'OB1, consentendo l'esecuzione dei blocchi successivi.

Comunqie, prova e facci sapere ;)

Modificato: da Savino
Link al commento
Condividi su altri siti

Guarda, ho appena fatto una simulazione e l'istruzione BEA andrebbe bene anche. Richiamata dentro il FB, finisce il blocco in modo incondizionato e riporta il flusso al blocco successivi listato in OB1. Quindi puoi lasciare cosi che va benissimo .Scusami per la confusione, non mi ricordavo bene.. ;)

Modificato: da Savino
Link al commento
Condividi su altri siti

Sono appena tornato, ho sostituito BEA con BEB è la cpu non è andata in stop.

Provo a vedere per qualche giorno se il sistema funziona anche così e se si realizzano delle problematiche. Ora l'essicatoio stà funzionando in semiautomatico. Al massimo provo poi la condizione del salto condizionato se dovessi riscontrare dei problemi in automatico, oppure torno al BEA.

Grazie Savino! ;)

Link al commento
Condividi su altri siti

Ciao Savino, io sono tornato in ditta stamattina ma la macchina non mi dava la possibilità di regolare le serrande in automatico dell'issicatoio.

Alla fine sono andato a spulciare tuto il programma e mi son trovato che una funzione (FB) che veniva richiamata più volte dalle varie PB mi regolava l'appertura delle mie serrande.

Alla fine era solo una scheda dove la piedinatura si era spostata innavertitamente.

3 giorni di lavoro per poi capire che ..... lasciamo perdere! :blink:

Grazie Ancora!

Link al commento
Condividi su altri siti

Ciao qsator,

Alla fine era solo una scheda dove la piedinatura si era spostata innavertitamente.

3 giorni di lavoro per poi capire che ..... lasciamo perdere!

Non ti preocupare, nella vita ci ne ancora di peggio.. importante riuscire a capire e continuare ad andare avanti ;)

Saluto

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