Vai al contenuto
PLC Forum


Plc Siemens 115u Cpu942b - Modifica del programma utente


Messaggi consigliati

Inserito:

Ciao a tutti, mi scuso anticipatamente per eventuali errori, ( è la prima volta che partecipo a un forum! ) Problema: con step5, online tra pc e un plc siemens 115u 942b con cartuccia eeprom, sul pc eseguo una piccola modifica al programma utente, tipo aggiungere un contatto "and" in parallelo ad un altro già esistente, quello che non riesco a fare è "travasare" il blocco modificato nel plc! devo forse modificare il file di progetto e trsferirlo completamente con la funzione trasferisci blocchi di step5? oppure bisogna riprogrammare la eeprom?? con il plc siemens s95 è molto più semplice!!! Vi ringrazio!


Adelino Rossi
Inserita:

sa hai una eprom, devi riprogrammarla con il programmatore inserendo il programma modificato dopo averla cancellata.

Inserita:

Non è esattamente così.

Puoi modificare il programma ON-LINE e il plc funzionerà con la modifica che hai eseguito.

Se il programma è sostenuto dalla batteria ad ogni accensione del sistema verrà

eseguito il programma della RAM (modificato)

Se non c'è la batteria o si esaurisce il sistema ricarica in RAM il contenuto della

EPROM che ovviamente non conterrà la modifica.

Ciao, Gfabrizio

Inserita: (modificato)
quello che non riesco a fare è "travasare" il blocco modificato nel plc!

Cosa vuoi dire, che non puoi caricare il blocco modificato offline nella CPU ?

Strano.. comunque, c'erano delle CPU tipo 102, che il codice CPU veniva criptato e quindi ogni volta che veniva modificato un blocco in offline, bisognava caricare tutto il file progetto. Ma non mi resulta per quel tipo di CPU.

Poi, come ti hanno sopra indicato, potresti caricare la modifica nella CPU, senza sovvrascrivere l'eeprom, a RAM tamponata dalla batteria. In ogni caso, una volta a posto, si sovvrascrive il modulo.

Modificato: da Savino
Adelino Rossi
Inserita:

In effetti anche se c'è la possibilità di eseguire la modifica ON LINE, ritengo che una volta eseguita

la modifica, il lavoro si consideri completo quando come dice savino

In ogni caso, una volta a posto, si sovrascrive il modulo.

Lasciare nel tempo due programmi diversi nello stesso plc può creare dei problemi.

Inserita: (modificato)

Adelino

Lasciare nel tempo due programmi diversi nello stesso plc può creare dei problemi.

Il modulo viene sempre aggiornato, sovrascrivendo il programma corrente che c'e' nella ram.

Comunque, il codice CPU criptato valeva solo per le CPU 102, ove ogni volta che aggiornavi il codice in ram, bisognava cancellare appunto la ram e caricare tutti i blocchi insieme ancora.

Non penso che la 942B abbia quella propieta'. Comunque, forse non riesci a caricare il blocco modificato perche hai la ram piena e quindi dovresti fare una compresione della memoria.

Se dopo la compresione, ancora hai difficulta di caricamento, allora prova cancellare il blocco nella ram, e caricare il corrispondente offline. Se ancora hai problemi, forse la memoria sarebbe completamente piena.

Modificato: da Savino
Inserita:

Ha ragione Savino.

Io do per scontato che dopo la modifica on-line e il test dell' applicazione

si deve riscrivere nuovamente la Eprom co il codice medificato

Ciao a tutti, gfabrizio

Inserita:

Vi ringrazio tutti per la cortese attenzione prestatami, e volevo dire: una volta eseguita la modifica al programma utente (online tra pc e plc ) mi viene chiesto da step5 di salvare il blocco modificato, clicco su SI e un' altra finestra di dialogo mi comunica: BLOCCO IN EEPROM; a questo punto mi è consentito solo uscire dalla modalità di monitoraggio del programma, e al successivo collegamento la modifica appena eseguita non c'è più!!! Ora,non essendo per niente pratico con questo genere di PLC, non mi azzardo a fare operazioni che non conosco ( non sono un Programmatore e quindi potrei combinare qualche guaio! ) vi chiederei, se possibile, una descrizione "passo-passo" delle operazioni da eseguire con un pc dotato di step5 per apportare delle piccole modifiche al funzionamento dell' impianto gestito dalla cpu 115u 942b. Vi ringrazio.

PS:ma la cartuccia EEPROM serve ad ampliare la RAM del controllore? Scusate l' ignoranza!

Inserita: (modificato)

Andreasol ,

una volta eseguita la modifica al programma utente (online tra pc e plc )

Innanzitutto, le modifiche le dovresti fare offline. Quindi, apri il blocco da FD, editi, modifichi e salva .

Poi, vai in trasferimento blocchi, e trasferisci appunto da FD a AG. Ti chiedera' di sovrascrivere il blocco esistente, conferma si.

PS:ma la cartuccia EEPROM serve ad ampliare la RAM del controllore

No. Per backup il programma della RAM CPU.

Domande:

Versione del Sw utilizzato.

Il modulo e' una EEPROM o RAM. Guarda la scritta sul modulo.

Perche se al posto della EEPROM hai un modulo RAM, allora il discorso cambia.

Modificato: da Savino
Adelino Rossi
Inserita:
115u 942b con cartuccia eeprom

sono andato a rileggere il manuale in italiano che riporta modi di funzionamento diversi per quanto riguarda l'elaborazione

del programma per le CPU 941 e 942 e le CPU 943 e 944.

vedere il capitolo 4.

il manuale è scaricabile in italiano dal sito siemens.

s5115U

Inserita:

Grazie Savino e Adelino, il modulo è una EEPROM, (c'è scritto sulla cartuccia;) per SW intendi lo step5? ti faccio sapere, ciao e grazie ancora!!

Inserita:

Savino, lo step5 che ho a disposizione è la versione 7.11 ciao

Inserita: (modificato)
il modulo è una EEPROM

Si ho visto che lo avevi gia detto, infatti Adelino lo aveva anche rimarcato... niente comunque con la CPU 942B non dovresti avere problemi di modificare il codice per qualsiasi blocco.

A meno che hai la memoria RAM CPU piena. Se non riesci a comprimerla, allora potrebbe essere li il problema.

Comunque, segue il consiglio sotto elencato:

Innanzitutto, le modifiche le dovresti fare offline. Quindi, apri il blocco da FD, editi, modifichi e salva .

Poi, vai in trasferimento blocchi, e trasferisci appunto da FD a AG. Ti chiedera' di sovrascrivere il blocco esistente, conferma si.

Voglio dire, edita il blocco da FD( disco fisso), modifichi, salva e dopo trasferisci in AG (CPU)

Modificato: da Savino
Inserita:

Grazie Savino e Adelino, appena mi viene un po' di coraggio provo ad effettuare una modifica e vedo se sono capace di farlo... speriamo bene!!! Altra domanda riferita sempre alla medesima cpu del medesimo impianto: tutte le volte che manca tensione, al ritorno dell'alimentazione, le parti delle macchine comandate dal controllore che avevano iniziato un movimento e che quindi non si trovano più in un punto di partenza o arrivo (finecorsa o sensori ecc. ecc.) non riprendono automaticamente a completare il movimento che stavano compiendo prima che mancasse tensione; bisogna praticamente rimettere in "fase" le macchine manovrandole in modo manuale con dei comandi gestiti sempre dal controllore, dopodichè passando in modo automatico la lavorazione riprende normalmente; potrebbe essere che chi ha realizzato il programma non abbia Impostato i relativi Merker " in modo che una volta dato l'impulso di SET restino "carichi" e per "scaricarli" si deve dargli anche il RESET? Se si, dove posso verificarlo???? Ciao e buon fine/settimana a tutti.

Inserita: (modificato)

Ciao Andreasol,

Si', diciamo che sicuramente non e' stata eseguita la memorizzazione delle memorie di passo eseguito per quelle sequenze,

allora, la macchina perde la posizione logica.

Per risolvere, dovresti capire quale sarebbe il blocco che gestisce quella determinata sequenza e modificarlo a quel fine.

Per capire, potresti risalire cercando nel programm gli indirizzi per gli input/ output che vengono coinvolti in quella stazione di lavoro.

Per ogni movimento eseguito, fai il set di una memoria di passo eseguito.

Poi, la sommatoria (AND) dei passi eseguiti, fa il set della memoria di sequenza eseguita che fa il reset su tutte le memorie di passo eseguiti per quella sequenza.

Modificato: da Savino
Adelino Rossi
Inserita:
appena mi viene un po' di coraggio provo ad effettuare una modifica e vedo se sono capace di farlo

indipendentemente dal tipo di memoria, prima di modificare qualsiasi cosa fai una copia di back up del programma attuale creando un nuovo file su disco

ed eseguendo il trasferimento totale da AG a FD, o PG, a seconda del software e magari sposta il file su un supporto esterno, disco o chiave usb, non si sa mai.

se mantieni una copia del programma esistente, anche in caso estremo lo ripristini.

Inserita:

Non ho mai usato EEPROM ma solo EPROM, comunque credo che la differenza sia solo che le EEPROM non richiedono il cancellatore UV per cancellarle e riscriverle, ma penso che entrambe richiedano il prommer per poter essere scritte.

Ci sono alcune CPU che hanno il selettore "COPY" per poter trasferire il programma da RAM a EEPROM ma non mi sembra di ricordare che la 942 abbia questa funzionalità.

La 942 aveva poca memoria ram e per provare le macchine dovevo inserire una cartuccia RAM aggiuntiva, finito il collaudo trasferivo OB-PB-FB in eprom (col prommer) e DB nella RAM del PLC (trasferimento da FD a AG).

1) Sono d'accordo con l'ultima affermazione di Adelino, trasferisci tutto da AG a FD (in un nuovo file) prima di fare qualche modifica, potrai in seguito ricaricare tutto senza problemi !!!

2) Se non sei sicuro puoi fare anche un confronto tra FD e AG.

3) Fatto questo puoi anche levare la EEPROM (togli tensione prima di sfilarla).

4) Ridai tensione (il plc non va più perchè gli mancano i blocchi in EEPROM)

5) Guarda l'indice dei blocchi in AG e annotalo su un foglio (dovrebbero essere solo le DB), questi sono i blocchi in RAM.

6) Trasferisci tutti i blocchi dal pc all'AG...

7.1) se ti dice "memoria insufficiente" sei fregato perchè ti serve il modulo RAM aggiuntivo!

7.2) In caso contrario ora è tutto in RAM e puoi fare, memoria permettendo, le modifiche online... però ti consiglio di lavorare OFFLINE e trasferire il blocco ogni volta dal PC all'AG (almeno, io mi trovo meglio così, ma forse è questione di abitudine).

8) Quando hai finito le modifiche devi riprogrammare la EEPROM trasferendoci tutti i blocchi tranne quelli rilevati al punto 5

Buona fortuna ! :)

Inserita:

Per il problema delle fasi del ciclo potresti provare a mettere il selettore su OR anzichè su NR, in questo modo tutti i merker diventano ritenitivi.

Può anche darsi però che ciò crei più problemi di quelli che risolve, bisogna vedere come è fatto il programma!

Inserita:
Per il problema delle fasi del ciclo potresti provare a mettere il selettore su OR anzichè su NR, in questo modo tutti i merker diventano ritenitivi.

Scusa, meglio di no .. questo potrebbe portare successivi problemi nonche' comportamenti imprevisti del programma.

Bisogna andare a vedere perche' i passi sequenziali non vengono memorizzati piuttosto.

Secondo me, sarebbe propio che il codice non e' stato scritto a dovere.

Inserita:

Si, è vero, se spostassi il selettore su OR impostando tutti i merker in modo ritentivo, per come è scritto il programma succederebbe il caos, non funzionerebbe più nulla!! Per Adelino: grazie, sono contento del consiglio che mi hai dato, significa che nonostante io sia un auotodidatta il buon senso prevale perchè anche con controllori con i quali ho più dimestichezza, tipo Omron C1000H C2000H C200 C20 ecc. ecc., prima di fare la benchè minima modifica scarico e salvo una copia del programma e la custodisco con cura almeno fino a quando vedo funzionare l'impianto senza problemi con la modifica eseguita, figurarsi se non lo farò con il siemens, che per me risulta oltremodo ostico (rammento che quel poco che so di plc, bit, word,byte, hex, bin, ecc.ecc. me lo sono conquistato da solo con grande passione e sacrificio, ma alla fine anche con più grandi soddisfazioni!!) Grazie anche a Savino e Jumpman, per me i vostri consigli sono oro colato!! Ciao a tutti.

Inserita:
Scusa, meglio di no

Infatti ho scritto:

Può anche darsi però che ciò crei più problemi di quelli che risolve, bisogna vedere come è fatto il programma!
;)

Non capisco però una cosa Savino; anche se memorizzi correttamente le fasi di "passo eseguito", se poi questi merker non sono ritenitivi (selettore su NR) quando togli e ridai tensione te li ritroverai comunque tutti a 0 !

Può anche darsi che il selettore sia già su "OR" e che abbiano previsto da qualche parte un segmento che azzera tutti i flag.

Inserita: (modificato)

Ciao JumpMan,

Beh, memorizzare non vuoldire solo merker retentive o non .. vuoldire anche DB.

Infatti, anche per una migliore organizzazione, utilizzare delle Word DB come registri di flags di comandi e passo eseguito per una determinata sequenza e/o sequenze per una unita'/cella, sarebbe una buona idea.

Le merker, anche se possono venire utilizzate dappertutto , sono sempre dei flags ausiliari.

In ogni caso, prima di cambiare la posizione del selettore, andrei a vedere come e' stata fatta quella parte di codice.

Magari e' stato fatto a dovere, e l'errore sarebbe qualcosa alto.

Modificato: da Savino
Adelino Rossi
Inserita:

per mantenere lo status bisogna avere sempre memorizzato lo status corrente in area ritentiva.

Al ri-avviamento o tramite lo start e lo stop oppure con lo switch off switch on è necessario programmare, non ricordo bene se è l'OB21 e l'OB22, (spero di non aver sbagliato numero di OB.)

affinché una funzione dopo aver espletato altre funzioni di preset, legga lo status precedentemente memorizzato lo rimetta in linea.

personalmente non ho mai usato il ripristino del ciclo sospeso o interrotto per continuare in automatico per mere questioni di sicurezza.

dopo uno stop o una mancanza di tensione la macchina potrebbe non avere tutte le condizioni ok. però la memorizzazione

e la ripresa del ciclo in alcuni casi può essere necessaria.

Inserita: (modificato)
non ricordo bene se è l'OB21 e l'OB22, (spero di non aver sbagliato numero di OB.)

OB21: Riavviamento dopo la commutazione STOP-RUN

OB22 :Riavviamento dopo RETE ON

dopo uno stop o una mancanza di tensione la macchina potrebbe non avere tutte le condizioni ok. però la memorizzazione

e la ripresa del ciclo in alcuni casi può essere necessaria.

La migliore procedurea sarebbe quella di utilizzare memorie DB per i flags di comando passo in corso e passo eseguito.

A DB10

U D 0.0

...

..

= D 0.1

Selezioni delle singole DB oppure delle aree word per ogni sequenza.

Al momento del power off- power on, i commandi di passo in corso e tracciabilita' di passo eseguito conservano lo stato precedente.

personalmente non ho mai usato il ripristino del ciclo sospeso o interrotto per continuare in automatico per mere questioni di sicurezza.

dopo uno stop o una mancanza di tensione la macchina potrebbe non avere tutte le condizioni ok. però la memorizzazione

e la ripresa del ciclo in alcuni casi può essere necessaria.

Comunque, dopo il power on riestabilito, la macchina o cella non deve partire subito, sino dopo un consenso di ripristino ciclo, legato a un previo ripristino delle sicurezze ( condizione di "ready to go")

Questo anche perche ci potrebbe essere un rallentamento nel ripristino di tutti gli oggeti coinvolti, tanto siano questi di sicurezza come di comando ( inverters, etc).

Comunque, si potrebbero utilizzare anche delle memorie retentive oppure non, e quindi fare sempre un salvataggio ciclico di queste ultime su DB... e dopo ripristinare indietro da DB su merker appunto in OB21-22.

Modificato: da Savino
Inserita:

Mi sembra di ricordare che su S5 l'interrogazione del bit ( P D 0.0) di una DB era particolarmente lenta e (forse) non rappresentabile in KOP...

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