Vai al contenuto
PLC Forum


Blocco Dati


mazzinga

Messaggi consigliati

Mi trovo a fare delle prime prove con il nuovo s7 1200,e due giorni che cerco di visualizare sul mio OP esa il valore di una variabile %MW100,alla fine ho scoperto che devo creare un blocco dati.

Ho provato a crearlo,ma non ci sono riuscito,il vero problema e che non rieco ad inserire l'indirizzo.

Per crearlo ho seguito le segunti fasi,sono andato in blocco di programma ed ne ho creato uno nuovo,ho selezionato blocco dati ed ho premuto ok,a questo punto tia mi prppone una tabella con nome,tipi di dati,ecc.

In questa tabella non ho capito dove inserire l'indirizzo "in questo caso %MW100" che poi il mio OP fara riferiemnto.

Qualche buona anima puo spiegarmi come fare,e soprattutto è la strada giusta per far si che i due dispositivi si parliano tra di loro

Link al commento
Condividi su altri siti


Stai sbagliando parecchio: non puoi creare una MW nel blocco dati perchè sono tipi di memoria diversi.

Se vuoi usare una MW nel tuo pannello, basta che la definisci nel PLC nella tabella delle variabili e poi la utilizzi nel pannello.

Se, invece, vuoi usare un DB, allora fai come hai detto e quando si apre la tabella, inserisci il nome (ad esempio Valore_1), il tipo di dati (word, int o quello che vuoi) e, se ti serve, definisci un valore di avvio, se deve essere ritentiva o meno, se deve essere visibile dall'HMI o meno.

Gli ESA li ho usati una vita fa, ma ho paura che dovrai anche togliere l'ottimizzazione del blocco dati (devi andare in proprietà del blocco dati creato), in modo che il blocco sia indirizzato come i blocchi dello Step7 (Esempio DB1.DBW0 - questo potrebbe essere l'indirizzo della tua variabile) e non solo come simbolico (Valore_1), altrimenti l'HMI ESA non troverà mai la variabile.

Non so quanto sei preparato, ma ti consiglio di leggere qualche manuale: c'è la guida in linea, ma puoi anche scaricarlo dal supporto Siemens (è enorme, ma è completo).

Link al commento
Condividi su altri siti

come ho scritto prima,sono alle prime armi con il 1200,ho sempre usato il 200.

Se vuoi usare una MW nel tuo pannello, basta che la definisci nel PLC nella tabella delle variabili e poi la utilizzi nel pannello

Scusa ma questa non l'ho capita,in un precedente post mi hai detto che per visualizzare una variabile su esa devo creare un blocco dati nel plc,qui mi dici che la devo definire nella tabella delle variabili,cosa che ho pure fatto ma continuo a non visualizzarla.

Link al commento
Condividi su altri siti

Scusa ma questa non l'ho capita,in un precedente post mi hai detto che per visualizzare una variabile su esa devo creare un blocco dati nel plc,qui mi dici che la devo definire nella tabella delle variabili,cosa che ho pure fatto ma continuo a non visualizzarla.

Quello che drugo ti sta dicendo è che le possibilità sono due:

1) Credi un blocco dati, crei tutte le variabili che vuoi al suo interno, facendo attenzione che quelle che dovranno poi essere richiamate nell'HMI devono avere la spunta sulla casella "visibile in hmi"

2) Crei una variabile nella tabella delle variabili

Da quanto scrivi mi sembra di capire che hai già creato la variabile nella tabella delle variabili ma non riesci a leggerla da HMI, giusto? Ma la comunicazione tra plc e pannello è ok? Io farei una prova percorrendo la soluzione del DB. Se con il DB funziona si può andare avanti ad indagare

:thumb_yello:

Link al commento
Condividi su altri siti

Da quanto scrivi mi sembra di capire che hai già creato la variabile nella tabella delle variabili ma non riesci a leggerla da HMI, giusto

Giusto,nella tabella delle variabili ho creato la Tag_27 con indirizzo %MW100,Word,Visibile ed accessibile HMI con la spunta

Ma la comunicazione tra plc e pannello è ok

Creedo di si,se sul'OP inserisco un pulsante con indirizzo che punta ad un'uscita del plc riesco ad comandarla,stessa cosa se inserisco una lampada con indirizzo verso l'uscita del plc la lampada cambia di stato,il problema sembra essere solo verso le variabili.

Potresti spiegarmi come creare il DB passo passo puntando alla MW100,forse sbaglio io

Nel caso non volessi creare un DB,sul'OP quando si inserisce l'indirizzo della variabile mi chiede comunque un DB cosa andro a mettere

Link al commento
Condividi su altri siti

Mazzinga, semplificando al massimo, nel PLC esistono due tipi di memoria, i Merkers che è un'area globale che esiste sempre, non la devi allocare, l'aver dato un nome nella tabella delle variabili a %MW100 è una tua comodità, se non le dai il nome comunque esiste ed è visibile dall'esterno da qualunque HMI come Merker Word 100.

Poi ci sono i Data Block (DB) che sono blocchi dati che crei tu e che possono contenere le variabili che decidi, sono molto simili ai record pascal o le struct C; anche i DB sono visibili dall'esterno (con qualche limitazione che vediamo dopo).

DB e M sono due entità distinte: non hai bisogno di una DB per accedere a una MW.

Se vuoi accedere ad MW100, non conosco la sintassi ESA, dovrai creare un Tag (nell'ambiente di sviluppo del pannello) ed assegnargli l'indirizzo MW100 di quel dato PLC o qualcosa di simile, non ti serve nient'altro.

I nomi delle variabili che tu dai in TIA Portal (Tag_27) sono visibili all'esterno solo se stai creando il progetto di un HMI integrato nel progetto PLC (quindi con WinCC).

La spunta sulla casella "visibile in hmi" serve solo ad includere o meno la variabile nella lista che WinCC ti presenta in un progetto integrato.

Ripeto, non conosco ESA, ma se il sistema di sviluppo non ha accesso al progetto e quindi al database delle variabili dove ad ogni nome corrisponde un'indirizzo assoluto, non credo che puoi indirizzare una variabile (sia essa Merker o DB) tramite il suo nome.

Con i PLC 1200 e 1500, come ti ha detto Drugo, per rendere visibile all'esterno una DB, questa non deve avere nelle proprietà l'attributo "Optimized block access", apri le proprietà della DB (tasto destro del mouse) nell'albero del progetto sulla sinistra e verifica che è simile a quello riportato in figura.

In ogni caso, se vedi gli I/O digitali, la comunicazione è OK e devi vedere anche le Merker word senza nessun "settaggio" ;)

Ciao

Davide

post-875-0-20498800-1401183629_thumb.jpg

Link al commento
Condividi su altri siti

Ho sentito la esa ed mi hanno confermato,che se ad esempio volessi puntare ad la MW100 devo creare un blocco dati nel PLC,sul pannello devo puntare ad DB"numero del mio db" ed ofset 100.

Ho visto nelle propieta del mio DB,ma non trovo la possibilta di inserire l'ofset,ho tolto la spunta OTTIMIZZATO,la mia versione è la 11.

Dove trovo l'ofset

Link al commento
Condividi su altri siti

Giuseppe Signorella

Se vuoi vedere l'indirizzamento assoluto del DB, dopo aver tolto la spunta su ottimizzato, devi effettuare la compilazione del DB.

Ciao

Link al commento
Condividi su altri siti

Per compilare sono andato sulla cpu del mio progetto>tasto Destro Compila>Tutto.La compilazione è stata eseguita ma la tabella dell'ofset non viene fuori.

Sbaglio qualche cosa io

Link al commento
Condividi su altri siti

Giuseppe Signorella

Domanda banale........ma prima di compilare, hai inserito qualche variabile nel blocco dati? :roflmao:

blocco%20dati.gif

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

Domanda banale........ma prima di compilare, hai inserito qualche variabile nel blocco dati?

Si prima di compilare ho tolto la spunta blocco ottimizzato,ho inserito delle variabili ed in fine ho compilato,ma il risultato è sempre lo stesso.

Puoi indicarmi passo passo come fai a creare un blocco dati,forse sbaglio qualche passaggio

Link al commento
Condividi su altri siti

Si prima di compilare ho tolto la spunta blocco ottimizzato,ho inserito delle variabili ed in fine ho compilato,ma il risultato è sempre lo stesso.

Strano, non mi sembra ci sia nulla di sbagliato; crei il blocchi dati, togli il segno di spunta da ottimizzato, crei le variabili e compili; non ho mai provato, ma se crei prima le varaibili e poi togli l'ottimizzazione, non credo cambi molto.

Non è che ti segnala qualche errore proprio su quel blocco, dopo la compilazione ?

Link al commento
Condividi su altri siti

No, lo escludo: il Tia lo uso dalla versione 10.5 e non mi ricordo di un problema simile.

L'unico consiglio che mi viene in mente è di riprovare creando un nuovo blocco, poi puoi sempre cancellarlo dopo la prova.

Mi viene in mente ancora una cosa: mi sembra sia possibile abilitare e disabilitare la visualizzazione delle colonne della tabella; verifica che sia abilitata proprio quella dell'offset (tasto destro sui titoli delle colonne e poi ci sono i segni di spunta, mi pare).

Link al commento
Condividi su altri siti

Giuseppe Signorella

Io il test l'ho fatto col TIA V11 SP2 come te.

Non ho mai riscontrati problemi del genere, anche perché decido a priori se il blocco dati deve essere ottimizzato oppure no.

Link al commento
Condividi su altri siti

Gianmario Pedrani

apri il tuo blocco dato non ottimizzato e sopra dove trovi nome ritenzione tasto desto e abitita la visualizzazione avvanzata,

ciao.

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