Vai al contenuto
PLC Forum


Memorie retentive


a.rezzan

Messaggi consigliati

Salve a tutti,

premetto che sto utilizzando il TIA v14 SP1.

Ho esigenza di passare delle variabili ad un supervisore (cosa normalissima), ma la differenza di quanto facevo prima è che questo ha bisogno di puntare all'indirizzo della memoria e quindi non usa il protocollo simbolico ma quello a indirizzamento (quello più diffuso).

So che devo togliere la spunta di "Acceso ottimizzato al blocco" e il gioco è fatto, ma mi accorgo che non si più, TIA me lo impedisce.

Cerco di capire perchè, la prima cosa che mi viene in mente è che è un DB di istanza di una FB, quindi vado a vedere se nelle proprietà della FB c'è qualcosa che blocca, la trovo,  "Accesso ottimizzato al blocco", bene la tolgo.

Ora nelle proprietà del DB posso togliere e rimettere la spunta di ottimizzazione, bene dico ho finito e invece....

Mi accorgo che ora, dopo aver tolto la spunta di ottimizzazione sia nelle proprietà del DB che nella FB a esso associata, le variabili retentivi che prima erano state dichiarate nella FB non sono più retentive e non c'è la possibilità di renderle di nuovo retentive. Vado a vedere nel DB di istanza e lì ho la possibilità di spuntare quali delle variabili voglio che siano retentive, bene dico, vado a rispuntarle ma mi accorgo che tutte diventano retentive, ossia o tutte o nessuna.

Sapete dirmi come fare pe spuntare solo quelle che voglio io?

 

 

Link al commento
Condividi su altri siti


Io trovo strano che un supervisore vada a leggere direttamente le DB d'istanza. Non è "pericoloso"? A naso farei io una DB globale d'appoggio con dentro i dati che voglio che vengano letti/scritti. Boh? Magari sono troppo quadrato...

Link al commento
Condividi su altri siti

Concordo.
Andare a leggere/scrivere direttamente nel DB di istanza, non è la cosa più pulita.
Specialmente in questo caso, dove si accede all'indirizzo delle variabili e non al simbolico, si deve essere certi che la FB sia definitiva. In caso contrario, modifiche all'interfaccia variabili della DB ti obbligano poi a risistemare tutti gli indirizzi.
Dedicare un DB allo scambi dati col supervisore è sicuramente una soluzione più corretta, altamente consigliata.

Link al commento
Condividi su altri siti

Per me non c'è nessuna controindicazione far leggere dall'HMI o scada le DB di istanza ed è più pratico che far migliaia di appoggi ed avere dati doppi o tripli, inoltre quando preparo delle FB che riutilizzo spesso nella DB di istanza c'è sempre una parte di scambio con l'HMI da legare direttamente magari ad un Faceplate.

Link al commento
Condividi su altri siti

Sicuramente risulta comodo ma, come dicevo prima, si deve essere sicuri che non ci siano da fare modifiche, specialmente come in questo caso, con accesso all'indirizzo.
Per non fare miriadi di appoggi e passaggi di parametri, generalmente creo dei "tipi di dati" che vado ad utilizzare sia nel DB che dedico allo scambio dati, sia alla funzione, come parametro INOUT. Ecco che con un solo collegamento passo tutti i dati. Così sono più libero di modificare a piacere la FB, evitando anche che vengano reinizializzati i valori di impostazione.
Poi, l'importante è sapere cosa si fa. Nel caso di utilizzo di HMI Siemens e di accesso alle variabili con simbolico (quindi le variabili del pannello si "sistemano da sole"), mi faccio meno scrupoli e, se mi risulta comodo accedere direttamente al DB di istanza, lo faccio. Cosciente però di fare una cosa filosoficamente non troppo pulita.

Link al commento
Condividi su altri siti

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