Spiddy1 Inserito: 26 marzo 2020 Segnala Inserito: 26 marzo 2020 Ho una memoria MD62 da mettere come ritentiva pero ho visto nel menu dove impostare bisogna partire per forza dalla 0 non c’e il modo di mettere solo ritentiva solo quella?
batta Inserita: 26 marzo 2020 Segnala Inserita: 26 marzo 2020 No, non c'è modo di rendere ritentiva solo quella. Ma, come ti è stato detto in un'altra discussione, non usare l'area M, usa i DB. Con i DB ottimizzati, puoi decidere quali variabili rendere ritentive, e quali no. Con i DB non ottimizzati, puoi rendere ritentivo o non ritentivo l'intero DB.
Spiddy1 Inserita: 26 marzo 2020 Autore Segnala Inserita: 26 marzo 2020 Si ok e che sono alle prime armi anche se secondo me sono riuscito a fare delle belle cosette l’ottimizzazione del Db si sceglie all’inizio quando si crea giusto?
batta Inserita: 27 marzo 2020 Segnala Inserita: 27 marzo 2020 3 ore fa, Spiddy1 ha scritto: l’ottimizzazione del Db si sceglie all’inizio quando si crea giusto? I DB vengono sempre creati ottimizzati. Poi, entrando nelle proprietà del DB, puoi togliere l'ottimizzazione. Se non fai nulla, sono ottimizzati.
Cesare Nicola Inserita: 31 marzo 2020 Segnala Inserita: 31 marzo 2020 Ho avuto brutte esperienze con i merker ritentivi. Non nel senso che non funzionano, ma perché non è immediatamente visibile che sono ritentivi. Poco tempo fa lavoravo su un progetto non mio, fatto con CPU300 e non mi immaginavo che chi ha realizzato quel progetto anni fa, avesse usato merker ritentivi. Avendo io sostituito la CPU con una diversa, la configurazione della CPU precedente era andata persa e con essa l'impostazione dei merker ritentivi. Ho scoperto per puro caso il giorno prima del rientro dalla trasferta che esistevano dei merker ritentivi. Forse, se invece di cancellare dalla configurazione hardware la vecchia CPU e mettere la nuova, avessi usato "sostituisci oggetto", avrei mantenuto quella impostazione; ok, errore mio quella volta, ma se si usano le DB, è immediatamente visibile cosa deve essere ritentivo e ci si mette al riparo da errori o da situazioni in cui si eredita del software e lo si riutilizza.
batta Inserita: 31 marzo 2020 Segnala Inserita: 31 marzo 2020 Soprattutto lavorando con il TIA e cpu S7-1200/1500, a parte i merker di sistema, gli altri, per me, potrebbero anche sparire. Posso comprenderne l'uso solo su programmi piccoli. Quando le cose si complicano, meglio gestire ogni singola parte in FB con in pancia tutte le variabili che servono (oppure passate come parametri, meglio se associate ad un Tipo di dato), e DB per dati comuni.
ifachsoftware Inserita: 31 marzo 2020 Segnala Inserita: 31 marzo 2020 40 minuti fa, batta ha scritto: Soprattutto lavorando con il TIA e cpu S7-1200/1500, a parte i merker di sistema, gli altri, per me, potrebbero anche sparire. Posso comprenderne l'uso solo su programmi piccoli. Quando le cose si complicano, meglio gestire ogni singola parte in FB con in pancia tutte le variabili che servono (oppure passate come parametri, meglio se associate ad un Tipo di dato), e DB per dati comuni. Concordo totalmente
Cesare Nicola Inserita: 31 marzo 2020 Segnala Inserita: 31 marzo 2020 (modificato) 1 ora fa, batta ha scritto: a parte i merker di sistema, gli altri, per me, potrebbero anche sparire Magari è un eccesso di zelo con le veloci CPU attuali o magari non è più nemmeno vero grazie alle DB ottimizzate, non so; in passato con le CPU 300 si diceva che l'accesso a un merker era ben più veloce dell'accesso a un bit di una DB, perché per quest'ultimo il sistema doveva prima aprire la DB e poi accedere al bit. Quisquilie da quarantena. 😄 Modificato: 31 marzo 2020 da Cesare Nicola
batta Inserita: 31 marzo 2020 Segnala Inserita: 31 marzo 2020 24 minuti fa, Cesare Nicola ha scritto: Magari è un eccesso di zelo con le veloci CPU attuali o magari non è più nemmeno vero grazie alle DB ottimizzate Non ho prove a sostegno ma, in un recente workshop Siemens, è stato detto che, ora, la situazione è ribaltata: l'accesso a dati di DB ottimizzati è più veloce dell'accesso ai merker. Di sicuro, l'accesso ad un DB ottimizzato è più veloce dell'accesso ad un DB non ottimizzato. Con i DB ottimizzati, immagino il sistema acceda direttamente alla memoria (l'ha allocata lui, la variabile, saprà bene dov'è ;-) ), senza l'apertura del DB. Spesso io passo alle funzione intere strutture di dati come IN/OUT. Passando dati complessi come IN/OUT, nella funzione non viene creata una copia dei dati, ma un puntatore. Fino a non molto tempo fa mi ero un po' limitato nell'uso di questo sistema, perché temevo che accedere tramite puntatore appesantisse il lavoro della cpu. Sempre da quanto appreso in quel workshop, invece, pare sia il sistema più rapido. E, effettivamente, ha senso: non si perde tempo per leggere la variabile, copiarla nei dati della funzione, elaborarla e poi riscriverla, ma si agisce direttamente sulla variabile. Anche di questo però non ho prova certa. Cercando, sicuramente si trova una tabella dei tempi di accesso alle diverse aree di memoria e con i vari metodi.
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