Vai al contenuto
PLC Forum


tia portal 13 copiare un db1 a un db2 con un tasto


joblele

Messaggi consigliati

Buonasera e grazie anticipatamente

Vorrei chiedere se è possibile copiare in tia portal ver 13 un db

provo a spiegarmi da pannello creo una ricetta composta da 2 interi , 4 bool ,2 real . il tutto viene scritto su un db .

successivamente l'operatore preme un tasto e la ricetta vorrei fosse trasferita ad un altro db .

Ho provato con move , move_blk, read_dbl ma non funziona o meglio quando inizio a inserire il nome dipo "db1" mi inserisce il punto successivo

ho una cpu 1511-1 pn

grazie

 

Link al commento
Condividi su altri siti


Ti basta usare MOVE. I DB, ovviamente, devono essere identici.

Se. dopo il punto, non ti propone anche "Nessuna voce", significa che la tua versione di TIA non è aggiornata.
In ogni caso, puoi risolvere cancellando il punto e cliccando poi in un'area vuota dell'editor, anziché confermare con Invio.

 

Potresti anche gestire le ricette all'interno dello stesso DB, organizzando le variabili in strutture, o array di strutture.

 

Link al commento
Condividi su altri siti

Ciao 

togli/cancella punto è premi invio . Lascia solo il nome della db.

 

in Scl :

DbNome1 := DbNome2 ; 

 

le due Db devono essere identiche come contenuto 

ciao 

Link al commento
Condividi su altri siti

Grazie intanto

Provo a spiegarmi meglio , ho creato 1 DB indentici

DB1

START:BOOL

STOP:BOOL

LEGGI:INT

SCRIVI:INT

TEMPERATURA:REAL

DB2

START:BOOL

STOP:BOOL

LEGGI:INT

SCRIVI:INT

TEMPERATURA:REAL

 

A questo punto se provo a fare un MOVE con punto o senza è uguale (SEMPRE ROSSO)

L'unica cosa che ho notato è che se vado nelle proprieta del blocco e levo la spunta negli ATTRIBUTI  alla voce "ACCESSO OTTIMIZZATO AL BLOCCO" 

solo in quel cosa smette di darmi  l'errore e diventa tutto nero

che vuol dire "accesso ottimizzato al blocco" ?? grazie

 

 

 

Link al commento
Condividi su altri siti

Sei sicuro che il problema sia l'accesso ottimizzato al blocco e non la "Riserva di memoria" in "Carica senza reinizializzazione"?

 

Accesso ottimizzato al blocco significa che il sistema assegna gli indirizzi fisici alle variabile come meglio crede, e che questi indirizzi non sono noti, ovvero che puoi accedere ad una variabile solo col simbolico, e non con l'indirizzo.

Ci sono funzioni che hanno bisogno degli indirizzi delle variabili, e per queste funzioni è obbligatorio togliere la spunta da "Accesso ottimizzato al blocco". Non è il caso dell'istruzione MOVE.

Comunque, l'accesso ottimizzato serve solo a migliorare la gestione della memoria e le prestazioni. Nel tuo caso, non ti accorgerai minimamente della differenza.

Togliere "Accesso ottimizzato al blocco" è indispensabile anche se si deve accedere alle variabili del blocco con un pannello operatore non Siemens.

 

Come ti ho accennato nel precedente post, potresti anche utilizzare un solo DB.

In questo DB crei un ARRAY (con il numero di ricette che dovrai gestire) di STRUCT.

Nella struttura inserisci le variabili START, STOP, LEGGI, SCRIVI, TEMPERATURA.

Poi, con MOVE, copi, per esempio, la struttura "Ricetta[0]" in "Ricetta[1]"

Link al commento
Condividi su altri siti

Ciao ho notato una cosa strana

se faccio un blocco con il plc 1500 mi da errore , ho quindi cambiato il plc rifacendo il programma con un 1214c e la cosa strana che l'errore dando il comando move non si verifica....

 

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