Andreasol Inserito: 19 maggio 2009 Segnala Inserito: 19 maggio 2009 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: 19 maggio 2009 Segnala Inserita: 19 maggio 2009 sa hai una eprom, devi riprogrammarla con il programmatore inserendo il programma modificato dopo averla cancellata.
gfabrizio Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 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 dellaEPROM che ovviamente non conterrà la modifica.Ciao, Gfabrizio
Savino Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 (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: 20 maggio 2009 da Savino
Adelino Rossi Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 In effetti anche se c'è la possibilità di eseguire la modifica ON LINE, ritengo che una volta eseguitala modifica, il lavoro si consideri completo quando come dice savinoIn ogni caso, una volta a posto, si sovrascrive il modulo.Lasciare nel tempo due programmi diversi nello stesso plc può creare dei problemi.
Savino Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 (modificato) AdelinoLasciare 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: 20 maggio 2009 da Savino
gfabrizio Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 Ha ragione Savino.Io do per scontato che dopo la modifica on-line e il test dell' applicazionesi deve riscrivere nuovamente la Eprom co il codice medificatoCiao a tutti, gfabrizio
Andreasol Inserita: 20 maggio 2009 Autore Segnala Inserita: 20 maggio 2009 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!
Savino Inserita: 20 maggio 2009 Segnala Inserita: 20 maggio 2009 (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 controlloreNo. 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: 20 maggio 2009 da Savino
Adelino Rossi Inserita: 21 maggio 2009 Segnala Inserita: 21 maggio 2009 115u 942b con cartuccia eepromsono andato a rileggere il manuale in italiano che riporta modi di funzionamento diversi per quanto riguarda l'elaborazionedel 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
Andreasol Inserita: 21 maggio 2009 Autore Segnala Inserita: 21 maggio 2009 Grazie Savino e Adelino, il modulo è una EEPROM, (c'è scritto sulla cartuccia;) per SW intendi lo step5? ti faccio sapere, ciao e grazie ancora!!
Andreasol Inserita: 21 maggio 2009 Autore Segnala Inserita: 21 maggio 2009 Savino, lo step5 che ho a disposizione è la versione 7.11 ciao
Savino Inserita: 21 maggio 2009 Segnala Inserita: 21 maggio 2009 (modificato) il modulo è una EEPROMSi 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: 21 maggio 2009 da Savino
Andreasol Inserita: 23 maggio 2009 Autore Segnala Inserita: 23 maggio 2009 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.
Savino Inserita: 23 maggio 2009 Segnala Inserita: 23 maggio 2009 (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: 23 maggio 2009 da Savino
Adelino Rossi Inserita: 23 maggio 2009 Segnala Inserita: 23 maggio 2009 appena mi viene un po' di coraggio provo ad effettuare una modifica e vedo se sono capace di farloindipendentemente 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.
JumpMan Inserita: 23 maggio 2009 Segnala Inserita: 23 maggio 2009 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 5Buona fortuna !
JumpMan Inserita: 23 maggio 2009 Segnala Inserita: 23 maggio 2009 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!
Savino Inserita: 23 maggio 2009 Segnala Inserita: 23 maggio 2009 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.
Andreasol Inserita: 23 maggio 2009 Autore Segnala Inserita: 23 maggio 2009 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.
JumpMan Inserita: 24 maggio 2009 Segnala Inserita: 24 maggio 2009 Scusa, meglio di noInfatti 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.
Savino Inserita: 24 maggio 2009 Segnala Inserita: 24 maggio 2009 (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: 24 maggio 2009 da Savino
Adelino Rossi Inserita: 24 maggio 2009 Segnala Inserita: 24 maggio 2009 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 memorizzazionee la ripresa del ciclo in alcuni casi può essere necessaria.
Savino Inserita: 26 maggio 2009 Segnala Inserita: 26 maggio 2009 (modificato) non ricordo bene se è l'OB21 e l'OB22, (spero di non aver sbagliato numero di OB.)OB21: Riavviamento dopo la commutazione STOP-RUNOB22 :Riavviamento dopo RETE ONdopo uno stop o una mancanza di tensione la macchina potrebbe non avere tutte le condizioni ok. però la memorizzazionee 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.1Selezioni 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 memorizzazionee 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: 26 maggio 2009 da Savino
JumpMan Inserita: 27 maggio 2009 Segnala Inserita: 27 maggio 2009 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...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora