Vai al contenuto
PLC Forum


Errore Di Parametrizzazione - manda in stop la CPU: quale OB?


emanuele.croci

Messaggi consigliati

emanuele.croci

Ciao,

due giorni fa stavo tele-assistendo un cliente estero, in una macchina aveva la cpu S7314C-2DP che andava in STOP (o meglio... non riusciva ad andare in RUN...)

Il problema era apparentemente legato alla perdita di parametrizzazione di una FM353 montata sul Rack della CPU.

OK, poco male, ho riparametrizzato la FM353, la macchina è ripartita.

Tuttavia mi chiedevo SE ESISTE UN OB in grado di prevenire questo andare in Stop della CPU (lo stop della CPU crea un disagio molto grave alla macchina, mentre il mal-funzionamento di quella FM353 ferma un accessorio non vitale...)

Gli OB più noti tipo OB82,OB86,OB121,OB122 erano già inseriti e non hanno funzionato, ho provato a inserire gli OB83 e 84 ma non me li accettava, l'errore che fermava tutto era un ERRORE DI PARAMETRIZZAZIONE della FM353 (non so il codice esatto), la CPU si aspettava di trovare questa scheda nella tal posizione del rack ma la scheda risultava non presente...

Qualche suggerimento?

Ciao e grazie,

Emanuele

Link al commento
Condividi su altri siti


Spesso uso FM350 ed FM450 , ed e' sufficiente usare OB82 per determinare il comportamento in caso di errore sugli I/O e sugli eventi di interrupt.

Se vuoi un consiglio, lancia una riparametrizzazione completa , come faccio io nell'OB100.

Cosi' la prossima volta gli dici solo di spegnere e riaccendere.

Ivan

Link al commento
Condividi su altri siti

Ciao Emanuele

prova a guardare se nella configurazione HW della cpu in avviamento hai spuntato la voce

Avviamento con configurazione HW diversa da quella attuale

ciao

Luca

Link al commento
Condividi su altri siti

emanuele.croci

Ciao a tutti e grazie,

prova a guardare se nella configurazione HW della cpu in avviamento hai spuntato la voce

Avviamento con configurazione HW diversa da quella attuale

Luca, per un attimo avevo visto la luce.... ma purtroppo la casella era già spuntata! (strano...)

e' sufficiente usare OB82 per determinare il comportamento in caso di errore sugli I/O e sugli eventi di interrupt.

Se vuoi un consiglio, lancia una riparametrizzazione completa , come faccio io nell'OB100.

Ciao Kamikaze, il tuo consiglio non l'ho ben capito... io in online ho un OB82 vuoto (per me dovrebbe bastare).

Cosa dovrei invece scrivere nel OB82 e OB100?

..."gli dici solo di spegnere e riaccendere" che significa? (io vorrei che la macchina restasse accesa, che non si spegnesse proprio..)

Ciao, Emanuele

Link al commento
Condividi su altri siti

Ciao Emanuele,

io in online ho un OB82 vuoto (per me dovrebbe bastare)

Si , quando viene rilevato un'errore HW , il programma entra in OB82 , dove tu poui di conseguenza regolare il comportamento della CPU.

Se vuoto non succedera' nulla, ma almento evita lo STOP della CPU in caso di assenza di questo blocco.

OB100?

..."gli dici solo di spegnere e riaccendere" che significa? (io vorrei che la macchina restasse accesa, che non si spegnesse proprio..)

OB100 , il blocco di inizializzazione, per le applicazioni che faccio , con molti contatori veloci , mi e' indispensabile ad inizializzare le counter FM350 , dove :

Imposto gli indirizzi dei singoli moduli:

L W#16#100 //Set module address

T DB60.DBW 12 //module address on DB60 "FM350 DB"

L P#256.0 //Address unit in pointer format

T DB60.DBD 14 //Set start channel address on DB60 "FM350 DB"

Avvio la sincronizzazione della FM, ed attendo la risposta OK dal modulo:

L 0

T DB60.DBB 23 //reset all digital out of FM350

Syn: CALL FC 62

DB_NO:=W#16#3C //Counter card DB number interface 16#3C = DB60

U DB60.DBX 36.7 //Set bit for card syncronize and parameter OK

SPBN Syn

Azzero tutti i valori di conteggio che sono presenti nel modulo, ed imposto il modo di funzionamento:

L L#0

T DB60.DBD 52 //Write new corrent counter card value

T DB60.DBD 56

T DB60.DBD 60

T DB60.DBD 64

L 40

T DBB 0 //Set job number

Res: CALL FC 61

DB_NO :=W#16#3C //Counter card DB number interface 16#3C = DB60

RET_VAL:=#Dummy

U DB60.DBX 1.0 //Set bit for card reset drive

SPB Res

In passato, spesso succedeva che in condizioni assurde di funzionamento o all'avviamento del PLC si sporcassero i dati della DB della counter.

Di conseguenza i conteggi andavano a pallino.

Da li ho deciso di lanciare una riconfigurazione completa ed un azzeramento in OB100.

Non mi e' mai piu' successo nulla, ma nel caso vi fossero problemi, chiedo al cliente di segnere e riaccendere. :rolleyes:

Ivan

Link al commento
Condividi su altri siti

emanuele.croci

Ciao Ivan,

...concordo con te! Quel che non capisco è:

- io avevo già un OB82 vuoto nel plc

- tuttavia questo non riusciva ad andare in run, o andava in stop

E quindi non capisco se un ipotetico altro OB "mi avrebbe salvato" oppure no....

(magari, se ho occasione di ricollegarmi, mi annoto esattamente il numero di errore, così parliamo di cose più certe)

Ciao, Emanuele

Link al commento
Condividi su altri siti

Hai ragione,

OB82 , e' il blocco che viene elaborato in caso di errore sul rack del PLC, come ad esempio l'estrazione , o la mancanza di alimentazione di una scheda.

Forse al caso tuo puo' servire il blocco OB122 , per errore di accesso in lettura crittura agli I/O.

Puoi gestirlo cosi':

OB122:

L #OB122_EV_CLASS //Error event identifier

L B#16#29 // Error incoming event

==I

SPB UNEr //Jump to set Unit Fault

BE

UNEr: L #OB122_MEM_ADDR // Error memory address

T #AccFault // Store error memory address

L #OB122_BLK_TYPE //Block type where error occour

T #BlockType //Store the block type

L #OB122_SW_FLT // Error code

T #ErrCode // Store error code

BE

Ciao

Ivan

Link al commento
Condividi su altri siti

Ciao emanuele , riprovo a spararne un'altra

nella configurazione HW della 353 , nei parametri di base ,

hai la generazione dell'allarme che puoi provare a tenerlo in NO

selezione allarme in NESSUNO ( se e' abilitato l'allarme con selezione PROCESSO , se non ci sono gli OB di interrupt , probabilmente ti manda in stop la CPU )

reazione allo stop CPU dovrebbe non centrare

ciao

Luca

Link al commento
Condividi su altri siti

emanuele.croci

Grazie Luca!

Ho controllato, erano già in NO e NESSUNO!!

... la cosa è sempre più misteriosa, vi terrò aggiornati...

Ciao, Emanuele

Link al commento
Condividi su altri siti

Ciao emanuele , riprovo a spararne un'altra

nella configurazione HW della 353 , nei parametri di base ,

hai la generazione dell'allarme che puoi provare a tenerlo in NO

selezione allarme in NESSUNO ( se e' abilitato l'allarme con selezione PROCESSO , se non ci sono gli OB di interrupt , probabilmente ti manda in stop la CPU )

reazione allo stop CPU dovrebbe non centrare

Io proverei a fare il contrario:

- generazione dell'allarme = si

- selezione allarme = diagnostica + processo

poi metti tutte le OB necessarie

CIAo

Beppe

Link al commento
Condividi su altri siti

emanuele.croci

OK ragazzi,

farò tesoro dei vostri consigli!

...anche se non so come andrà a finire, magari la FM353 una volta riparametrizzata non rompe più le scatole per svariati anni, quindi il cliente non le rompe a me e non sapremo mai qual'era la soluzione....

Ciao, Emanuele

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao, scusa se mi intrometto ma penso anch'io, come beppeconti sono convinto che bisogna impostare il modulo affinchè l'errore venga segnalato e quindi richiamato il corrispondente OB.

Ciao

Link al commento
Condividi su altri siti

  • 4 months later...

Ciao,

completo la questione:

la settimana scorsa sono stato a fare assistenza su un'altra macchina e, GUARDA CASO, mi è ricapitato lo stesso problema. Questa volta però ero fisicamente sul posto e l'ho osservato bene.

I punti chiave sono i seguenti:

- il PLC molto spesso non riesce ad avviarsi, per colpa di una FM353 che non riesce a trovare. SE riesce ad avviarsi (circa 1 volta su 5 ce la fa...) poi la macchina funziona senza problemi

- nella diagnostica mi segnala un "errore di parametrizzazione - avviamento bloccato"; non richiama nessun OB, l'errore è segnalato nel SDB5 (che fa parte della "valigetta" dei dati di sistema)

- Cancello del tutto la MMC, tolgo lo SDB1000 dalla valigetta, cancello la valigetta e ricompilo i dati di sistema => nessuna differenza

- Tolgo o rimetto il flag "avviamento con config HW diversa dall'attuale" => nessuna differenza

- Tolgo l'alimentazione alla FM353 => nessuna differenza

- Scollego FISICAMENTE la FM353 dal BUS del PLC => il PLC va in RUN, ovviamente ho il led di errore nel senso che non vede la scheda

Un tecnico Siemens che stimo molto mi ha risposto che siamo probabilmente in presenza di un errore molto grave a cui non è associata nessuna OB (infatti l'info diagnostica non cita nessun OB); in tali condizioni non risulta a Siemens che si possa mandare in RUN il plc.

Dopo poche ore mi è arrivata una FM353 nuova e in pochi minuti ho risolto....

Qualcun altro si è per caso imbattuto in una roba simile? Perché il fatto che non si possa in alcun modo mandare in RUN il PLC mi sembra abbastanza critico.

Ciao, Emanuele

P.S. la FM353 rotta me la sono portata a casa... posso quindi far prove....

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