Vai al contenuto
PLC Forum


Importazione Blocchi Dati Da Plc S7


gramma

Messaggi consigliati

Ciao a tutti!

Qualche tempo fa, mi sono trovato nella necessità di controllare con una discreta precisione, il movimento di un braccio di una macchina comandato da una circuito idraulico. Sul braccio è montato un encoder (assoluto, ma non è di importanza fondamentale) che ne riporta la posizione.

Per avere un'immagine dettagliata di ciò che accadeva, ho scritto una FB che memorizzava in un DB, in modo sequenziale, il valore corrente dell'encoder ogni volta che veniva chiamata, e l'ho inserita nell'OB35 (interrupt a tempo).

Così, sapendo che OB35 viene eseguita ogni p.e. 100ms (nel mio caso erano 10ms, ma non cambia nulla), ho ottenuto un DB dove è memorizzata la posizione del braccio ad ogni istante (ogni xxx ms). Ho poi importato i dati dal PLC ed inseriti in un foglio Excel, con i quali ho tracciato un grafico.

Fantastico! il grafico rappresenta così la posizione del braccio istante per istante, e quindi (fruttando la potenza di Excel) ne ho potuto rilevare le velocità, accelerazioni, ecc. con una discreta precisione (direi elevata trattandosi di un'applicazioe derivata da un PLC).

Quest'applicazione mi è stata talmente utile, che ho esteso il procedimento a tutte le applcazioni che andavano controllate, in particolare per le regolazioni: in un regolatore PID p.e., registro sempre i fattori P., I., D., Errore, e quello che m'interessa nell'applicazione specifica, e ne traccio il grafico nel tempo (l'esecuzione dell'OB35 viene configurata ad un tempo compatibile con l'applicazione). Così sono molto facilitato nella regolazione, avendo l'esatta immagine (grafica) del comportamento di ogni componente del regolatore.

Ora, la quantità di dati da importare dal PLC è piuttosto consistente, e sono dati di diversa origine (diverse DB), e fino ad ora non ho trovato nessun metodo d'importazione se non quello di:

importare il DB dalla CPU

aprire e selezionare tutto il DB (in visualizzazione dati)

copiare

passare in Excel

incollare

scartare tutte le colonne che non m'interessano (il nome della variabile, il formato del dato, il valore iniziale, il commento).

Ripetendo questo procedimento diverse volte (ovviamente con questo metodo si può importare solo una DB alla volta), si rischia di fare casino, sovrascrivere dati già importati, cancellare qualcosa, desincronizzare le varie DB durante la copia, ecc. con conseguente inaffidabilità della procedura.

Tutta queta descrizione (piuttosto prolissa) per chiede se qualcuno conosce un metodo per indirizzare le variabili nel PLC e leggerle (importarle in Excel) direttamente, senza passare da S7 che costringe a questa procedura onerosa.

O se magari qualcuno ha sviluppato (che ne so, in VB -di cui non so nulla-) qualche programma a questo scopo (o simile), in modo da rendere la mia procedura più veloce (sarebbe fantastico un real-time, ma credo sarebbe un pò come chiedere la luna...) e più affidabile.

Grazie a tutti per la pazienza (di aver letto questo poema), e per gli eventuali suggerimenti!

Buon lavoro ;) .

Ciao.

Gramma

Link al commento
Condividi su altri siti


Ciao,

Io penso che prodave MPI fa' alla tua applicazione.

Guarda questo Link

Comunque,con prodave non passi da S7 ma dovvresti essere in grado di scrivere codice al meno in

VB oppure in VC++.

Saluto.

Link al commento
Condividi su altri siti

Grazie Savino!

Veramente cercavo un applicatico solo Sw :rolleyes: , non qualche oggetto commerciale della Siemens, ma grazie per l'info, penso che davvero petrebbe andare bene ;) .

Saluti

Link al commento
Condividi su altri siti

Io trovo interessante il programma Sevice Lab della Siemens (che in realta' e' fatto dalla National Instruments).

Tra le moltissime cose che puo' fare, c'e' la possibilita di visualizzare (tipo registratore su carta) n tracce

di variabili di S7 (tramite MPI/Profibus/Teleservice o Ethernet), oppure mettere i valori delle variabili

tramite DDE in un foglio Excel.

Unica limitazione e' il tempo di aquisizione delle variabili, dipendente dal tipo di collegamento al PLC,

normalmente >20 mS.

http://www.ad.siemens.de/servicelab/index_76.htm

ciao

wally

Link al commento
Condividi su altri siti

Se hai a disposizione uno scada, e se questo gestisce l'ODBC, potresti leggere e salvare su un dbase la tua variabile a scansione di qualche msec. evitando di salvere i dati nel PLC. Qui puoi gestire i tuoi dati a trend ecc.

Io utilizzo Movicon di Progea che ti garantisco gestisce al meglio l'ODBC e ti permette di capionare anche ad intervalli di 2 msec. (se il resto del sistema supporta tale velocità).

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