emixs Inserito: 18 gennaio 2003 Segnala Inserito: 18 gennaio 2003 passo subito al problema S5 siemenscpu 943bnessun modulo espansionetutto funzionava bene con 3 db aperti di 25521 db aperti di 16021 db aperti di 1704 db aperti di 30per una modifica avevo necessita di avere a disposizione più dw in alcuni dei db sopra citati.ho cosi modificato la situazione3 db da 25521 db da 18521 db da 1654 db da 30perchè se vado in visualizzazione di un db aperto sono aperti sempre come in precedenza....automaticamente con la modifica al programma che mi richiama delle dw non esistenti la cpu va in stop.... Giusto?
Akira Inserita: 18 gennaio 2003 Segnala Inserita: 18 gennaio 2003 scusami ma quello che dici è quasi incomprensibile...dovresti esporre meglio il problema,magari postando anche la parte del programma che ti dà problemi.giusto per informazione è possibile aprire un solo DB per ogni chiamata (vuol dire che se chiami un FB ed apri un DB dentro esso è solo quel DB che può essere acceduto, all'uscita dell'FB torna ad essere attivo il DB aperto in precedenza... un pò come le scatole cinesi).CIAO.
emixs Inserita: 18 gennaio 2003 Autore Segnala Inserita: 18 gennaio 2003 scusate tanto per aprire intendevo l' operazione:L KF +255E DB 100...... E COSì VIAFORSE ORA SONO STATO UN PO PIU CHIARO .... SCUSATE ANCORA
PLC_COMM Inserita: 18 gennaio 2003 Segnala Inserita: 18 gennaio 2003 Scusa se ti faccio la stessa domanda, ma già nella prima richiesta non è chiaro qualcosa: Vecchio >> Nuovo03 db con 255 Dw >> 03 db con 255 Dw = +021 db con 160 Dw >> 21 db con 185 Dw = +1521 db con 170 Dw >> 21 db con 165 Dw = -5??04 db con 030 Dw >> 04 db con 030 Dw = +0Scusa ma hai 21 db con 5 Dw in meno. Poi da quello che so io le db vengono create se all'accensione (o all'evento) non esistono nel programma.Premetto che non ho mai usato questo sistema (ne ho discusso allamacchina del caffè con dei colleghi).Spero di averti dato qualche idea. :ph34r:
rguaresc Inserita: 18 gennaio 2003 Segnala Inserita: 18 gennaio 2003 Le due istruzioni:L KF 255E DB 100servono a creare in RAM il DB100 se questo non c'e' gia'. Se e' presente un DB100 non fanno nulla.Per aprire usaA DB 100Per creare un DB devi prima cancellarlo, oppure crealo col PG sovrascrivendo.Saluti
emixs Inserita: 18 gennaio 2003 Autore Segnala Inserita: 18 gennaio 2003 Qualcosa comincia a tornare.....Molto probabilmente si capisce che sono abbastanza nuovo dell' argomento.....Allora, per la modifica che ho fatto al programma avevo bisogno che i db dal 100 al 120 che prima contenevano 160 dw, ne avessero 185.Ho così modificato l' FB che li generava:L KF +160 ---------------> L KF +185 E DB 100 ---------------> E DB 100 E DB 101 ---------------> E DB 101 E DB 102 ---------------> E DB 102 e così via. Ho inoltre modificato il programma come serviva per l' applicazione desiderata.In seguito ad un errore di calcolo nel programma, pensavo di aver esagerato e di non avere abbastanza memoria per le dw aggiunte, sono andato a modificare un altro FB:L KF +170 ---------------> L KF +165 E DB 150 ---------------> E DB 150 E DB 151 ---------------> E DB 151 E DB 152 ---------------> E DB 152 e così via.Ho ridotto di 5 dw i db dal 150 al 170 per poter '' ingenuamente '' recuperare un po' di memoria ( ho verificato che erano inutilizzati ).Non essendo lì l'errore, ma bensì in una istruzione di elaborazione di una dw, la cpu continuava ad andare in stop.Corretto l'errore di elaborazione sembrava tutto Ok fino a quando il programma non ha cercato le dw che pensavo di aver aggiunto.Analizzando le db ho notato che contenevano sempre le 160 dw iniziali.Ora giustamente con il vostro aiuto ho capito dove posso aver sbagliato:se come ho fatto io, le db le trasferisci sul plc dal pc, lui le vede create e non le riapre, GIUSTO?Devo quindi eliminarle dal plc per fargliele ricreare delle dimensioni nuove,GIUSTO?Scusate ancora per l'incompetenza.... e se vi ho fatto perdere tempo.....N.B. ogni consiglio che arriva.... è ben accetto....!!!!Grazie Emy
rguaresc Inserita: 18 gennaio 2003 Segnala Inserita: 18 gennaio 2003 Giusto...quasi giusto.L'equivoco dipende dal fatto che di solito si chiama "apertura di un nuovo file" la sua creazione. Nei PC si dice così.In S5 l'apertura è un'operazione che fa la CPU per leggere e scrivere le DW in un DB esistente. E si fa con A DB XX.La creazione di un nuovo file non è chiamata apertura, ma creazione. E si fa con E DB XX. L'istruzione E crea un nuovo DB XX se non ce n'e' uno con lo stesso nome.Saluti.
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