Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Registrazione Dati S7 - registrazione su pc operandi S7 digitali e analogici


Messaggi consigliati

Inserito:

Buon giorno a tutti, la mia necessità è di registrare dati analogici e digitali di plc siemens S7300 - 400 comunicanti in profibus/MPI/ethernet su PC, con tempi di scansione minimi per analizzare eventuali anomalie.

Come prodotto commerciale ho visto PLC-ANALYZER PRO 5; ho scaricato il demo e devo dire che è fatto molto bene... come al solito il problema sono i $. Quindi volevo realizzare una cosa equivalente con la dll libnodave e visual basic 6.

La mia domanda è se esiste qualche programma equivalente a PLC-ANALAYZER dai costi inferiori, o altrimenti se mi proponete altre strade!

Nel caso di sviluppo con VB6 cosa mi consigliate come database per avere velocità nella registrazione, visto che devo essere almeno veloce quanto il ciclo del PLC?

Grazie


Inserita: (modificato)
La mia domanda è se esiste qualche programma equivalente a PLC-ANALAYZER dai costi inferiori, o altrimenti se mi proponete altre strade!

Quanto costa questo PLC-ANALIZER ? <_<

Altre strade, penso PRODAVE che e' una MPI fondata su una DLL. Poi ti ci vorra l'adattatore USB-RS232 /MPI. Tutto questo ti costerebbe EURO 600 circa (licenza singola). Poi devi essere in gamba ad implementare l'applicazione.

......cosa mi consigliate come database per avere velocità nella registrazione, visto che devo essere almeno veloce quanto il ciclo del PLC?

Devi serializzare su file binario. Successivamente, quando sara' neccessario aprire i file campionati, puoi convertire verso altri formati come mdb, xls.

Modificato: da Savino
Inserita:
Devi serializzare su file binario.
DLL

Concordo,Max velocità acquisizione.

Inserita:

Il prezzo di PLC-ANALYZER PRO 5 con i driver per S7 è circa 2000€.

Ho già testato libnodave con VBA e CP5611 in ethernet ed in profibus e va benissimo; siccome l'applicativo che ho in mente servirebbe a verificare errori nel programma PLC che altrimenti sarebbe difficile trovare (ad esempio mi chiama un cliente a cui si blocca l'impianto sempre di notte; io metto il mio bel PC in rete e registro i dati che ritengo sensibili in modo da verificare successivamente qual'è stata la causa del fermo macchina) e visto che sono un principiante in visual basic, ti chiederei se sai indirizzarmi verso un esempio di serializzazione su file binario e memorizzazione du db.

Grazie

Inserita: (modificato)

Sulla web trovi parecchia info riguardo serialization objects con VB. Comunque a basso livelo non e' altro che un processo per scrivere e leggere un file sul disco in modo binario.

Cerca con google per Serialization in VB ;)

Modifica:

Per convertire da binario a mdb puoi utilizzare ODBC connectivity.

Comunque, si sei un principianti avari una starda lungha da percorre. :(

Modificato: da Savino
Inserita:

Sono principiante ma ho già fatto, per esempio un software in Visual basic 6 che va a registrare su mdb dei dati provenienti da moduli wago remotati in ethernet, tramite dll proprietaria wago. In questo caso il campionamento di valori analogici era lento, ogni minuto e quindi registravo direttamente su db. Poi ho sviluppato un'altro eseguibile che va a fare l'analisi dei dati in forma grafica e tabellare. Quindi qualcosina già l'ho fatto.

Il problema che mi trovo ad affrontare adesso è la velocità, ti sarei grato se mi postassi un esempio di serializzazione e ODBC connectivity, o mi indirizzassi verso un link diretto; cercando "serialization in vb" non ho trovato :(

Inserita:
Il problema che mi trovo ad affrontare adesso è la velocità

Non mi è ancora chiaro cosa intendi per velocità.

All'inizio sembra che tu debba analizzare nel dettaglio fenomeni di breve durata, con campionamenti dell'ordine dei ms.

Poi sembra che a te interessi generare uno storico dell'impianto. Un campionamento dell'ordine del minuto è sicuramente lungo ma, se il caso è questo, io ritengo potrebbe andar bene un campionamento da 1 a 5 secondi.

Tieni presente, con campionamenti molto rapidi, anche della mole di dati che vai a generare. Quanti valori devi archiviare? Per quanto tempo?

Inserita:

Ciao a tutti, Io ho realizzato con Prodave un soft in VB6 dove controllo alcuni dati su 6 Cpu S7300 collegate in rete MPI, scrivo i dati su 4 file Access diversi in un totale di 9 tabelle. La scansione io l'ho impostata su circa 2 secondi, il programma impiega circa 0.5 secondi per la lettura e scrittura delle variabili. Per me Prodave è ottimo. Se ti occorre qualche info scrivi. Ciao.

Inserita:
cercando "serialization in vb" non ho trovato

Estrano, nel link sopra postato penso ci sia qualcosa.... <_<

Comunque, nei links sotto, potresti ricavare dei metodi per i tuoi propositi..

Link ODBC con VB

read/write binary files con VB

Vedi, in questi links non e' che troverai essattamente il lavoro fatto, ma ti dara' una idea di come poter fare e quindi ......prova vedere se ci arrivi a combinare qualcosa, altrimenti potrei vedere di preparati una DLL con delle C-API per un "oggetto Serialize" e un "oggetto ODBC link "richiamabili da VB.

Se te ne puo' interessare, contattami by PM (private message). :)

Inserita:

x batta:

il campionamento di 1 min era su un software che ho già realizzato; mentre adesso mi serve registrare con tempi brevi (ordine di un ciclo PLC) non per storicizzare, ma per analizzare dal'esterno eventuali errori di programmazione, registrando e analizzando contemporaneità di eventi etc... mi interessa registrare max 48 ore per max 255 word

x Savino

Grazie dei link, ora ho del materiale per cominciare a testare se la mia idea è fattibile... realizzare un software che registri su file binario segnali letti dalla dll libnodave tramite cp5611 siemens da PLC serie S7.

Poi sarà compito di un'altro software portare i dati serializzati in un db per essere analizzati.

Un'ultima cosa, volevo chiederti se sai dove posso reperire degli esempi sulla creazione di ocx e dll; questo per cultura personale, visto che come ti dicevo sono praticamente neofita nel mondo visual basic!

Grazie ancora della gentilezza!

Inserita: (modificato)
....esempi sulla creazione di ocx e dll;

Per quanto mi riguarda, per costruire questi oggetti utilizzo VC++ piuttosto.Ma con VB e' anche fattibile.

Comunque nella MSDN Library del Visual Studio ne trovi parecchia roba.....

Qualche links....

Link

Link

OCX con VB

Link

Buon lavoro :)

Modificato: da Savino

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