Vai al contenuto
PLC Forum


Gestione ricette su DB di caricamento 200SP


Massimo_Fra

Messaggi consigliati

Ciao a tutti,

ho un PLC Siemens ET 200SP (CPU 1510SP F-1 PN). Mi chiedono 1000 ricette. Di solito uso un solo DB con dentro un array di tipo dati record con il record composto appositamente. In questo caso è ovviamente impensabile per questioni di dimensioni. Le ricette sono anche piuttosto articolate.

Sto leggendo in giro della possibilità di usare un DB per ogni record e salvare quindi i DB nella memoria di caricamento (ho una SD da 12 MB). Non l'ho mai fatto prima e se qualcuno gentilmente può darmi qualche dritta gliene sarei grato.

Se non ho capito male dovrei usare le istruzioni Read_DBL e Write_DBL per leggere e scrivere i DB nella memoria di caricamento e Create_DB per creare nuovi DB (record) all'interno di un range di numeri (per esempio decido che userò i Db da 1000 a 1999 per i 1000 record).

Qualcuno di voi l'ha già fatto? Sto scegliendo la direzione giusta o ci sono altre strade?

Grazie

Link al commento
Condividi su altri siti


Si potrebbe fare come dici ma, a me, sorge spontanea una domanda: perché complicarsi tanto la vita per gestire le ricette nel PLC anziché gestirle nel pannello operatore/pc?
Poi, per sapere se 1000 ricette sono troppe per un DB, dovremmo conoscere quante variabili ci sono in ogni singola ricetta.


Ma io ritorno sempre al punto di partenza: perché si vuol far fare al plc un lavoro che non gli spetta? La gestione ricette è un compito da HMI/SCADA, non da PLC.
Se le gestisci nel HMI/SCADA, hai anche la possibilità di archiviarle su supporto esterno, che non sarebbe male. Pensa al lavoro per andare a reimpostare 1000 ricette, nel malaugurato caso di perdita dei dati.

 

Io, questa cosa della gestione ricette nel PLC, non l'ho mai capita.

Modificato: da batta
Link al commento
Condividi su altri siti

Il 16/7/2021 alle 11:47 , batta ha scritto:

Io, questa cosa della gestione ricette nel PLC, non l'ho mai capita.

Se nell'impianto ci sono diversi HMI tipo comfort, avere le ricette sincronizzate fra loro è un casino mica da ridere... Ma anche se si destina un HMI a fare da "ricettario", far puntare gli altri HMI al principale per leggere/modificare/caricare le ricette non è una passeggiata...

Se le hai nel PLC questo problema non si pone, e comunque credo che usando (a modo!) l'istruzione Write_DBL il rischio di perdere dati è inferiore nel PLC che nell'HMI

Link al commento
Condividi su altri siti

3 ore fa, triodegecio ha scritto:

Se nell'impianto ci sono diversi HMI tipo comfort, avere le ricette sincronizzate fra loro è un casino mica da ridere...

A mio avviso, è più facile che mettersi a lavorare con i DB sulla MMC. E c'è sempre il vantaggio di poter fare import/export su supporto esterno.
Scelte personali. Io continuo a preferire la gestione da HMI.

Link al commento
Condividi su altri siti

7 ore fa, batta ha scritto:

A mio avviso, è più facile che mettersi a lavorare con i DB sulla MMC. E c'è sempre il vantaggio di poter fare import/export su supporto esterno.

Probabilmente hai ragione, forse conosci delle istruzioni per sincronizzare le ricette fra i vari HMI a me ignote e che non ho trovato nel manuale. Magari se puoi dire come fai potrei pensare di provarci nei prossimi progetti.

Però, giusto per la cronaca, usare la Write_DBL è di una banalità disarmante... Noi abbiamo il DB ricettario che si compone da un array of UDT_ricetta. Quando l'operatore preme "Salva" viene lanciato il Write_DBL con in ingresso la struttura della ricetta in "RAM" (in pratica una DB di appoggio), e in uscita la DB ricettario con l'indice dell'array corrispondente al n. di ricetta in editazione.

Hai perfettamente ragione sul discorso di esportare e importare le ricette su supporto esterno

 

Modificato: da triodegecio
Link al commento
Condividi su altri siti

 

18 ore fa, triodegecio ha scritto:

Probabilmente hai ragione, forse conosci delle istruzioni per sincronizzare le ricette fra i vari HMI a me ignote e che non ho trovato nel manuale

Non ho mai provato, io creo sempre la ricettazione solo su un pannello master, ma si potrebbe provare sui pannelli secondari ad impostare come percorso del salvataggio della ricetta la cartella dove salva la ricetta il pannello principale.

Comunque a livello di tempo, la gestione delle ricetta ad HMI è veramente rapida.

Link al commento
Condividi su altri siti

  • 1 month later...

Buongiorno. Grazie delle risposte e mi scuso se le leggo solo ora ma il periodo di ferie e il traumatico rientro mi hanno distratto non poco. Saluto in particolare Batta che ho conosciuto personalmente per lavoro parecchi anni fa. 

Purtroppo non ho un pannello confort e tra l'altro è anche pieno (799 variabili usate su 800 disponibili) quindi la strada delle ricette su pannello per questo progetto è esclusa.

 

Il 18/7/2021 alle 20:49 , triodegecio ha scritto:

Però, giusto per la cronaca, usare la Write_DBL è di una banalità disarmante... Noi abbiamo il DB ricettario che si compone da un array of UDT_ricetta. Quando l'operatore preme "Salva" viene lanciato il Write_DBL con in ingresso la struttura della ricetta in "RAM" (in pratica una DB di appoggio), e in uscita la DB ricettario con l'indice dell'array corrispondente al n. di ricetta in editazione.

Il metodo di Triodegecio è quello che avevo in testa: pensavo anche io a un DB buffer che viene poi scritto sulla memoria di caricamento. Però io pensavo a un DB per ogni record della ricetta mentre tu usi un Db unico con dentro un array di tipo dati record. Ecco, io questa cosa non l'avevo pensata credendo di avere problemi di dimensione del DB che invece scopro ora che non ho quindi ho già provato e funziona perfettamente? Grazie!! 

Link al commento
Condividi su altri siti

  • 3 years later...
francesco.renz
Il 01/09/2021 alle 09:47 , Massimo_Fra ha scritto:

Buongiorno. Grazie delle risposte e mi scuso se le leggo solo ora ma il periodo di ferie e il traumatico rientro mi hanno distratto non poco. Saluto in particolare Batta che ho conosciuto personalmente per lavoro parecchi anni fa. 

Purtroppo non ho un pannello confort e tra l'altro è anche pieno (799 variabili usate su 800 disponibili) quindi la strada delle ricette su pannello per questo progetto è esclusa.

 

Il metodo di Triodegecio è quello che avevo in testa: pensavo anche io a un DB buffer che viene poi scritto sulla memoria di caricamento. Però io pensavo a un DB per ogni record della ricetta mentre tu usi un Db unico con dentro un array di tipo dati record. Ecco, io questa cosa non l'avevo pensata credendo di avere problemi di dimensione del DB che invece scopro ora che non ho quindi ho già provato e funziona perfettamente? Grazie!! 

Salve, può gentilmente condividere un png della sua soluzione ? ( anche se è passato qualche anno..)

Grazie mille anticipate 

Modificato: da francesco.renz
Link al commento
Condividi su altri siti

Livio Orsini

Accodarsi ad una discussione inattiva da oltre 3 anni, oltre che vietato dal regolamento, è inutile; al limite manda un MP all'utente con la tua richiesta.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...