Mauro_lab Inserito: 17 agosto 2009 Segnala Inserito: 17 agosto 2009 Salve è circa un mese che mi trascino un dubbio sulle DB sopratutto quelle in abbinamento alla FB41Primo caso:Se io scrivo il Dato usando una Maker e poi la collego al modulo PID che a sua volta è collegata Alla DB.Questo dato è ritenuto nelle DB ? vengono aggiornati i valori di default che sono presenti nella DB?Secondo caso:Se io scrivo il Dato puntando direttamente nella DB che è collegata al PID (FB41) .Questo dato è ritenuto nelle DB ? vengono aggiornati i valori di default che sono presenti nella DB?E se ci sono differenze tra questi due casi, quali sono? Troppe domande?
ken Inserita: 17 agosto 2009 Segnala Inserita: 17 agosto 2009 Vediamo di fare un po di ordine.marker penso che tu intenda un merker ma di cosa? ci sono merker bit, merker byte, merker word etc etc. Collegata alla db, cosa intendi con db? un db sul quale appoggi i dati (e se si generato nel programma off-line oppure generato dalla cpu (con sfc22)) oppure il db di istanza generato per FB41?perciò:Questo dato è ritenuto nelle DB ?Bisogna chiarire che db èvengono aggiornati i valori di default che sono presenti nella DB?Se intendi: si inchioda la cpu, il programma che era in ram viene ricaricato dalla memory card, NO, ci sono discussioni in merito vedi questo topicTroppe domande?No, ma strutturate male.
Mauro_lab Inserita: 17 agosto 2009 Autore Segnala Inserita: 17 agosto 2009 Ecco, facciamo chiarezzaMi riferisco alle Merker necessarie per trasmettere i dati alla DB per FB41, la loro dimensione è varia essendo la DB legata alla FB41 con BIT, WORD, INT, REAL ecc.....Fin qui mi pare chiaro.........Se scrivo i dati con queste merker e li collego al FB41 che a sua volta li mette nella DB, sono ritenuti ok, ma cambiano i valori di default?.... probabilmente no perche sono nel PC di programmazioneDovrei fare download sul PC delle DB e cosi ho una situazione aggiornata oppure la cosa non si può fare?Cosa cambia se si scrive il dato puntando nella DB direttamente?
ken Inserita: 17 agosto 2009 Segnala Inserita: 17 agosto 2009 è il DB DI ISTANZA oppure no? non lo hai ancora detto. Sembrerebbe da come scrivi ma indicalo per favore, è importante.
Mauro_lab Inserita: 17 agosto 2009 Autore Segnala Inserita: 17 agosto 2009 Tu riesci a collegare un DB qualunque al FB41?se lo fai sei un mago Comunque DB di ISTANZA per FB 41
ken Inserita: 17 agosto 2009 Segnala Inserita: 17 agosto 2009 non collego nemmeno il db di istanza se per quello al limite lo assegno.Non è detto che tu debba utilizzare dei merker come dati di I/O per un fb, potresti benissimo utilizzare altri db. Che so DB41 è l'istanza, DB1 un db generico utilizzato per i dati di I/O di qualsiasi fb parametrizzato (esempio db1.dbd0 per il gain). Poi i db puoi generarli nel programma (editati a programma) oppure direttamente nella cpu utilizzando sfc22 (e la cosa cambia)per salvare i dati dei db non so se la cosa vale anche per quelli di istanza (anche se a dire il vero non ne vedo la necessità) in modo che se si inchioda la cpu, il programma che era in ram viene ricaricato dalla memory card e di conseguenza reinizializza i db allora devi utilizzare salva ram in rom. se vuoi salvarteli off line (in modo da averli scritti su file in qualche modo) puoi fare in diversi modi esempio controlla e comanda variabili e poi copia incolla in excel, oppure una ricetta da hmi etc etc.Scrivere su db di istanza. non ne vedo la necessità e penso sia anche controproducente
Mauro_lab Inserita: 17 agosto 2009 Autore Segnala Inserita: 17 agosto 2009 La necessità nasce dal fatto che una volta terminato il lavoro ( ) vorrei avere le DB di istanza con i dati modificati da S.V. o P.O. nel PC e non in formato file o Excel o altro ma come dDB di istanza con dati in default è possibile?
batta Inserita: 17 agosto 2009 Segnala Inserita: 17 agosto 2009 Che sia il DB di istanza o un normale DB, che il dato venga scritto direttamente o tramite parametro passato a FB41, non cambia nulla: sempre di un DB si tratta, e i dati in esso contenuti seguono le stesse regole dei normali DB.Il dato scritto è ritentivo, ma non viene aggiornato il valore di default.
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 questo lo sapevoMa c'è un modo per riportare i dati nei valori di default?? Fosse pure metterli in manualepossibile che ogni volta che metto una funzione nuova debba rincorre le DB e controllare i dati Certo qualcuno mi dirà di non scaricare le DB importanti nel PLC, ma se ho decine di FB ogni volta devo fare le pulci su cosa scaricare, possibile che non posso aggiornare in qualche modo le DB x le FB41????
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 Scusate mi sono dimenticato una cosa, ho anche una DB di istanza, dove tengo i dati di set, non è appoggiata a nulla solo i dati di inizializzazione, i valori li ho inseriti quando l'ho costruita, ma ora la vorrei aggiornare devo correggere manualmente i valori?
ken Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 Non è di istanza. Un db di istanza viene generato come copia delle varibili impostate in testa al tuo FB. Un db tradizionale lo generi tu e lo riempi con la struttura di dati che ti serve. C'è poi il db genrato dalla cpu con sfc22. Con salva ram in rom salvi i dati attuali in quelli di default ma con i db generati dalla cpu non funziona.. Comunque leggi la discussione che ti ho linkato. si parla anche di un sfc/sfb che fa quetso lavoro. Non lo conosco, non so come funziona.scusa una cosa, ma se il tuo fb è caricato, i db di istanza pure perchè continui a caricarlo? io solitamente carico solo il blocco (FC, ob o FB) che li contiene.
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 Non ho alcun bisogno di generare altre DB.Mi bastano quelle che ho.Il problema, e lo ripeto, che il programma del PLC ho molte FB....... quando ne aggiungo una e la inserisco nel OB il PLC va in blocco se non rimetto tutte le FB usate + quelle nuove.Pertanto dover fare trasferimenti obbligati devo fare selezioni ecc..... e non è cosi immediato!Pertanto se posso aggiornare i valori della DB con i dati modificati in quelli di default sarebbe la cosa ideale cosi quando trasferisco non devo selezionare nulla.Non pensare che se si lavora con 2 o 3 FB e altrettante DB ecc....... ma immagina un sistema complesso con decine di blocchi
TravelMen Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 (modificato) Mi sembra un po strano, se tu aggiungi una FB o FC in OB1 e poi scarichi prima la nuova FB o FC ed eventualmente la DB relativa alla nuova FB, e poi scarichi la nuova versione del OB1, non succede nulla o meglio a ma non è mai successo nulla.Altrimenti scarichi assieme al OB1 anche l'FB nuova con la sua DB nuova il risultato non cambia.Poi per scaricare devi selezionare quello che vuoi scaricare, a che pro riscaricare tutto il programma se poi hai sempre "+rogne"???Domanda, come mai preferisci scaricare tutto il software, che se come dici è bello grosso, invece di scaricare solo ciò che hai modificato?Problemi del genere ne ho solo quando aggiorno una FB con all'interno il richiamo di un altra FB, altrimenti è difficile che uno se ne accorga che io sto modificando il software con la macchina che sta funzionando.Forse noi non conosciamo l'impianto su cui stai lavorando e la sua complessità, ma ......... Modificato: 18 agosto 2009 da TravelMen
Gapo Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 (modificato) Sarà il caldo, ma secondo me c'hai una grossa confusione nella testa... -tutto ciò che sa in DB è ritentivo.-non è ben chiaro cosa intendi con "collegare un merker a una db"-non è chiaro cosa intendi con "mettere in manuale"... mettere in manuale cosa? il PLC?-non è chiaro cosa devi ricontrollare nelle DB quanto carichi un FC nuova... la DB se ne sta per i fatti suoi con i suoi dati, e non devi certo ricaricarlaSe hai bisogni di un set di dati di default, li memorizzi da qualche parte, tipo una DB di appoggio, e li copi su comando dove ti servono.ciao Modificato: 18 agosto 2009 da Gapo
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 è vero il caldo ottende le menti e la mia è ormai giunta al limite Forse non riesco a spiegarmi, ci provo meglio nella speranza che riesca nel intento.Non metto in dubbio che si scarica FB, FC ecc...... non vi è la necessità di dovere scaricare altro e si seleziona quello che si vuole fare.Non metto alcun dubbio che vi sono modi di generazione retenzione ecc....Ma la mia domanda originaria è questa: Come posso aggiornare una DB che ho creato che determinati valori, e questi valori sono diventati i valori di dafault della DB, dopo un mese di lavoro su questi valori con continui aggiustamenti, e verifiche degli stessi e una volta definiti i dati li vorrei congelare nei valori di default. Pertanto posso salvarli nella DB come valori di default?Risposte possibili:Si, come?No peccato
ken Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 Ti ho già linkato una discussione che penso tu non abbia nemmeno apertoOra te ne linko un'altra che parla di sfc84 SFC84Direttamente dalla pressione di F1 su SFC84:Con la SFC 84 "WRIT_DBL" (write data block in load memory) è possibile trasferire il contenuto di un DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un DB nella memoria di caricamento (Micro Memory Card). Il DB sorgente deve essere rilevante per l'esecuzione, vale a dire che non deve essere stato creato con l'attributo UNLINKED. Esso può tuttavia essere stato creato con la SFC 22 "CREAT_DB".Leggi comunque bene la discussione linkata perchè Batta ha scritto considerazioni molto importanti.
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 Ok, ho letto il link che mi hai dato, sai sono in arabia da oltre un mese e qui alla sera le attrattive sono molto scarse, pertanto non mi reasta molto come svago.Comunque la discussione è molto interessate e pure gli interventi, ma non rispondono alla mia semplice domandaNon vorrei creare programmi o funzioni per salvare contenuti della DB, ma molto semplicemente salvare una volta sola i dati bella DB dati e nulla altro..... è cosi difficile?
ken Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 e siamo a tre.c'è il comando salva ram in ron.comunque sfc84 lo puoi richiamare anche solo 1 volta, nessuno te lo vieta
batta Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 Dopo tutti questi post io non ho ancora capito se i DB li vuoi salvare sulla MMC o sul PC.Se vuoi avere il DB aggiornato sul PC, in modo che nel caso di trasferimento da PC a PLC scarichi nel PLC i DB con i dati freschi, puoi aprire il DB in Online e salvarlo su PC.Attenzione che, se hai fatto modifiche al DB in offline, quando apri il blocco in online non vedi più i nomi delle variabili e, se lo salvi così, perdi i nomi anche nel DB offline.Hai valutato anche la possibilità di salvare i dati in ricette da archiviare sulla memoria dei supervisori?
Mauro_lab Inserita: 18 agosto 2009 Autore Segnala Inserita: 18 agosto 2009 è possibile trasferire il contenuto di un DB o di un'area di un DB dalla memoria di lavoro in un DB o un'area di un DB nella memoria di caricamento (Micro Memory Card)..........Questa è SFC84, bella funzione la terro a mente......Ma io devo solo salvare i dati on_linee della DB dei dati in quelli di dafault e non trasferire i contenuti in varie aree o memorie.DB10 online in DB10 default Ovviamente i dati di dafault resto sul PC, e non vengono aggiornati on-lineIo lavoro ON-LINE con il sistema ma la DB in oggetto rimane intonsa nel PC, la vorrei aggiornare con i dati ON-lineNon faccio modifiche off-line e non cambio in alcun modo i dati se non da O.P o S.V.Grazie batta
Gapo Inserita: 18 agosto 2009 Segnala Inserita: 18 agosto 2009 Ma la mia domanda originaria è questa: Come posso aggiornare una DB che ho creato che determinati valori, e questi valori sono diventati i valori di dafault della DB, dopo un mese di lavoro su questi valori con continui aggiustamenti, e verifiche degli stessi e una volta definiti i dati li vorrei congelare nei valori di default. Pertanto posso salvarli nella DB come valori di default?Risposte possibili:Si, come?No peccatoA questa domanda ti hanno già risposto tempo fa: SFC84Salvare i valori come default però non ti aiuta se vuoi, per esempio, un comando da OP che ti mette online i valori di default (a meno che non ci sia un omologo dell'SFC84, cosa probabile ma che al momento non posso verificare). Per questo ti suggerivo una DB d'appoggio, o addirittura, se sono valori sicuramente fissi, puoi farlo direttamente da codice.
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