Jump to content
PLC Forum


Applicazione Visual Studio


Reverendo bit
 Share

Recommended Posts

Reverendo bit

Ciao a tutti

Come avrete letto nelle mie discussioni precedenti dovrei creare un'applicazione con excel o visual studio che mi permetta di leggere dei dati

messi a disposizione da uno zelio con estensione modbus.

Ma in pratica non sono riuscito a scrivere il codice giusto per poter leggere i dati

Qualcuno potrebbe darmi una mano :(

Garzie a tutti e Ciao da Reverendobit

Link to comment
Share on other sites


del_user_56966
Ma in pratica non sono riuscito a scrivere il codice giusto per poter leggere i dati

Ma il tuo problema sono l'importazione dei dati da Zelio oppure la loro presentazione sul foglio!?

Il sistema più semplice che conosco è usare ABS-XComm tu scarichi i dati su un datadase .MDB che ti puoi creare facilemente

con gli oggetti di sistema, poi da Excel fai una Query standard e metti dati dove ti pare, puoi fare torte grafici di tutto un pò!

Quindi non serve codice particolare, basta usare le risorse standard di Office e un framework in questo caso è anche gratuito.. ;)

Link to comment
Share on other sites

Reverendo bit

Con le impostazioni sullo zelio sono a posto, Il mio problema e la scarsa conoscenza di Visual basic piuttosto che di ABS-xcomm o di come usare gli oggetti di VBA,

nel senso che, anche se volessi usare il framework che mi ha consigliato ho poca esperienza sulle stesse impostazioni anche a creare una query per intendreci.

Il fine ultimo che vorrei raggiungere e quello di registrare dei dati, o degli eventi o con un'applicazione di excel o con un'applicazione in visual studio.

Il problema piu grande e che non ho le basi per poterlo fare, e stavo cercando di crearmele o con dei documenti che ho trovato in rete o tramite tanti consigli preziosi come i tuoi, ma la cosa mi sta risultando lo stesso difficile.

mi servirebbe un aiuto passo passo ad impostare un po il tutto.

Tutte le discussioni che abbiamo fatto fino ad oggi mi hanno aiutato tanto a capire la filosofia della comunicazione modbus, ma ho molte lacune su come impostare il tutto.

Spero di non essermi dilungato e di non chiedere troppo,

E sono sempre molto grato a tutti quelli che fino ad oggi mi hanno aiutato :)

Edited by Reverendo bit
Link to comment
Share on other sites

del_user_56966

Una volta impostata la comunicazione in modbus tiri su le variabili e tramite un semplice oggetto database (contenuto nel framework XComm)

le registri su un file.MDB

i comandi sono semplici,

DB_Process1.OpenDB "C:\Test", "Monitor" ' Crea un File .MDB di nome "Monitor"

DB_Process1.AppendAlias "temperatura" ' Crea una variabile di nome "Temperatura"

DB_Process1.Store "temperatura", "22,5" ' vi associa il valore 22.5°C

DB_Process1.NewRecord ' Scrive i dati nel file e crea un nuovo record di archiviazione per la variabile

Chiaramente il tempo di archiviazione è dettato da un timer di sistema che si può impostare come meglio credi..

Una volta che i dati sono nel file del database, metterli a video su Excel è semplicissimo si crea una Query sul file, il programma permette di selezionare quale tra le variabili

presenti si vogliono recuperare tra quelle disponibili si preme OK e il gioco è fatto, poi da li a creare torte e grafici il passo è breve!

Link to comment
Share on other sites

Reverendo bit

Alen il L'ABS xcomm lo posso recuperare da qualche sito?

O devo rivolgermi a qualche fornitore?

Link to comment
Share on other sites

baltimora

Salve, mi inserisco anche io nella discussione in quanto piacerebbe anche a me imparare a creare un semplice sistema di supervisione tra un pc ed uno zelio.

Ho qualche base con VB6, il quale avevo iniziato a studiare proprio per questo proposito, ma poi l'ho trovato un po complicato ed ho abbandonato l'idea, in particolar modo la parte di comunicazione. (Ho continuato per un po a studiare il VB6 per altri motivi), stavo anche seguendo il corso scada qui su PLC Forum, ma poi si è arenato.....Chiedevo se fosse possibile inserire qui su PLCFORUM un semplice esempio di comunicazione tra ABS-Xcomm ed uno zelio creato con VB6, affinchè tutti coloro che come me e Reverendo bit possano prenderne spunto per poi approfondire le proprie conoscenze in modo individuale.

Grazie

Link to comment
Share on other sites

del_user_56966

Si è possibile, solo che in questo caso vi sono due opzioni, la prima è utilizzare un OCX direttamente nel programma con cui si voglia

comunicare con un prodotto Modbus RTU (Zelio o altro, l'importante è che sia Standard!), la seconda è di scrivere il codice Modbus e poi darlo

in pasto al server (sempre tramite una libreria) tutta la gestione delle Com la esegue il server mentre l'oggetto pensa a risolvere sia il controllo del CRC16

che se serve eventuali conversioni in IEEE ec... :)

Certo la prima è molto più semplice da usare (quasi un gioco da ragazzi) mentre la seconda richiede una conoscenza più spinta del protocollo e della sua applicazione..

cosa ne dite? andiamo sul più semplice o sul più complesso ??... :lol:

Link to comment
Share on other sites

baltimora

Be, credo che la risposta venga da se..........se vuoi insegnare a qualcuno a guidare, non metterlo su una autovettira da F1 ......

Io direi di partire dal piu semplice. OCX.

Anche perchè in questo momento, le nostre esigenze sono molto ma molto piccole.

Chissà partendo da questo un giorno saremo noi a poterlo insegnare a qualcuno.

E credo che reverendo bit la pensi come me.

Attendiamo pazientemente il tuo tutorials.

Grazie

Link to comment
Share on other sites

baltimora

Avevo già visto questo sorgente, ma lavora su seriale. (RTU)

Mentre per lo Zelio occorre TCP.

P.S. Credo che il link che hai inserito non funziona.

Ciao

Edited by baltimora
Link to comment
Share on other sites

Mentre per lo Zelio occorre TCP.

dipende da che modulo di comunicazione hai a disposizione:

SR3 MBU01BD = RS485 MODBUS RTU

SR3 NET01BD = Ethernet MODBUS TCP (Server)

Link to comment
Share on other sites

del_user_56966

Di questo non mi preoccuperei più di tanto, visto che in ABS XComm vi sono due oggetti distinti

uno per il Modbus RTU e uno per il Modbus TCP, oltre alla possibilità di connessione di apparati seriali tramite

la rete LAN con la funzione Modbus Over IP.. :)

Link to comment
Share on other sites

Reverendo bit

Ragazzi per me va bene la prima proposta di Alen e cioe il caso piu semplice per ora poi dopo si vedra ciao a tutti

Link to comment
Share on other sites

del_user_56966

In pratica nell'esempio che facciamo non cambia molto tra andare su Modbus TCP o su RTU,

per iniziare serve che installate il framework ABS-XComm e poi questo va configurato per l'uso

per comunicare si può usare in demo per più di un ora e poi va riavviato

oppure fino a 10 apparati inserire una licenza gratuita che va inserita al posto di quelle a pagamento

questo è il primo trucco... ;)

ditemi quando siate in linea con installazione e licenza!

Link to comment
Share on other sites

baltimora

Be. io ho già installato sul pc abs-xcomm, però non so come ottenere una licenza free, e tantomeno come va cofigurato.

Forse ti conviene partire dall'inizio.

Mi chiedevo, se si utilizza un OCX, perchè è necessario l'installazione del framework ? Non è l'ocx che si occupa di tutto? L'ocx di cui parli è quello di abs-xcomm?

Ciao

Edited by baltimora
Link to comment
Share on other sites

del_user_56966
Be. io ho già installato sul pc abs-xcomm, però non so come ottenere una licenza free, e tantomeno come va cofigurato.

questo perché non va ottenuta.. :lol:

ora ti spiego..

Forse ti conviene partire dall'inizio.

Si installato il framework riavvii la macchina e appare in alto sul desktop un menu a tendina di base trasparente, se ci fai doppio click sopra si apre, devi

poi premere sulla voce Server e avviarlo, dopo l'avvio sul solito menù appare un altra voce ovvero "server configuration"

da questo programma nell'icona "?" dei menu a tendina seleziona la voce "Licenza" e nel prompt della finestra di licenza digita la sigla "uf[at]"

questo è sufficiente per abilitare l'intero sistema gratuitamente per vari tipi di apparati, compreso la comunicazione Modbus ecc.

Mi chiedevo, se si utilizza un OCX, perchè è necessario l'installazione del framework ? Non è l'ocx che si occupa di tutto? L'ocx di cui parli è quello di abs-xcomm?

Questo in effetti con un OCX standard sarebbe come dici tu, in realtà la tecnologia XComm permette alla tua libreria di comunicare con gli apparati hardware

senza necessita di creare dei veri riferimenti alle seriali oppure alla rete LAN, inoltre una volta che la comunicazione è gestita dal server gli OCX possono risiedere anche su

più programmi contemporaneamente oltre a poter dialogare in contemporanea sullo stesso cavo con più protocolli e più velocità..!

in sostanza è un po quello che accade con gli OPC in questo caso ABS sarebbe un OPC Server e il tuo OCX l'OPC Client solo che a differenza degli OPC

se il server da dei problemi il tuo programma non ne risente, questo anche nel caso di forti mole di dati, comunque più entri nel framework e più ti accorgi che

molti processi sono stati automatizzati e quindi il time-to-market è molto estremamente più veloce che non dover sviluppare da zero,

oltre questo lo stesso oggetto è standard sia per te che lo usi per le tue applicazioni che per chi fa gestionali, chi fa automazione, controllo accessi, gestione energia

Building e adesso anche la domotica, quindi da questo lato tende a standardizzare il lavoro di più sviluppatori in un unica tecnologia, questa cosa va un po capita perchè

è l'esatto contrario di uno Scada che vuole chiudere tutto a se per motivi sia commerciali che di architettura!

sono partito dall'inizio... :lol:

Link to comment
Share on other sites

del_user_56966

onde evitare errori, la sigla da inserire è

u f (chiocciola) .... :lol:

più esplicitamente, per capirsi una sigla tipo "ufo" ma dove la "o" è la [at] usata per gli indirizzi e-mail!

non so se è chiaro, fatto questo dovrebbe apparire la scritta "Il sistema è pronto" o giù di li... :)

Link to comment
Share on other sites

baltimora

Ok sei stato chiarissimo, In realtà per me personalmente, questo argomento è di particolare attualità ed interesse. Ci tengo molto a capire come utilizzare ABS-xcomm, per motivi anche di lavoro in quanto è mia intenzione iniziare ad utilizzare i prodotti della NET, (ne o sentito parlare molto bene, anche in quaesto forum e sono stati loro a fornirmi il framework), e questo argomento può essere un trampolino di lancio proprio per iniziare a prendere confidenza con questo framework.

by-by

Link to comment
Share on other sites

Reverendo bit

Grande Alen............

OK io sono in Linea con l'installazione e la licenza ;)

Ma tanto per ribadire che sono un secchio vuoto sull'argomento comunicazione! potreste chiarirmi la funzione di un OPC piuttosto OCX

Potreste dirmi anche se questo concetto e vero oppure no?

Allora, se ho ben capito ABS-xcomm e uno strumento che mette a disposizione una serie di dati (ad esempio dati da un plc come uno zelio tanto per restare in tema) da noi dichiarati in ABS-xcomm e molte altre funzioni.

GIUSTO?

Scusate se con le mia affermazioni ho sminuito Le potenzialita di ABS-xcomm ma chiedo appunto per chiarire le mie idee.

Edited by Reverendo bit
Link to comment
Share on other sites

Buona sera a tutti sto seguendo con moltooo interesse anchio questa discussione ,

Anchio come Reverendobit ho pochissima esperienza a livello di acquisizione dati e pensavo di farmela appunto pian piano , ma mi sono subito arenato.

Ma questo ABS Xcomm da dove lo si può scaricare ho perso nottate ma senza ottenere risultati

Grazie per eventuali Link.

Appeno scarico AbsXcomm metto subito in atto i preziosi insegnamenti di Allen e vedo quello ch riesco a fare.

Link to comment
Share on other sites

del_user_56966
la funzione di un OPC piuttosto OCX

Un OPC (OLE PROCESS CONTROL) è uno standard basato appunto sulla tecnologia OLE di Microsoft

tecnologia con radici profonde, parte infatti dal 1993 con OLE2, il precursore è chiamato DDE (DINAMIC DATA EXCHANGE)

e si basava sulla OLE1 tecnologia (nata nel 1988) in seguito abbandonata da Microsoft (ma non dal "mercato dell'automazione" in quanto ancora alcuni Scada ne vanno fieri... :rolleyes: )

La strategia dello standard si basa sul fornire un server OPC, normalmente sviluppato dal produttore dell'hardware e un OPC Client sviluppato dal produttore stesso oppure da

altre società, come per esempio i produttori di Scada, questi due componenti sono in grado di comunicare tra loro grazie alla tecnologia COM (OLE) appunto questo fa si che i dati

possano essere scambiati con l'hardware senza necessità di veri e propri drive di comunicazione sviluppati dal produttore del software, bello no!

A prima vista bello e semplice da utilizzare se non fosse per gli aspetti "nascosti" all'utente che questo scambio dati comporta,

in ogni caso diciamo che un OPC Server è un oggetto Out-of-Process mentre un OPC Client è un oggetto In-Process

i due oggetti si connettono grazie alla tecnologia COM

Un OCX è un oggetto In-Process ovvero di un estensione delle librerie del programma, ma l'oggetto fa parte a tutti gli effetti dello stesso Thread e utilizza

lo stesso Stack di chiamate e quindi le performance sono molto efficienti.

Potreste dirmi anche se questo concetto e vero oppure no?

Allora, se ho ben capito ABS-xcomm e uno strumento che mette a disposizione una serie di dati (ad esempio dati da un plc come uno zelio tanto per restare in tema) da noi dichiarati in ABS-xcomm e molte altre funzioni.

Un OCX per natura è più soggetto a essere visto come un OPC Client che non come un drive vero e proprio (anche se è un lavoro che può svolgere)

ma in questo caso chi fa da OPC Server ?

ecco spiegato il ruolo del Server ABS, è questo che tramite la tecnologia XComm fa da fonte dati ai vari oggetti sia locali che remoti!

Si in effetti ai capito bene un framework come ABS permette di utilizzare tecnologie distanti tra loro e condividerne i dati in maniera omogenea...

Link to comment
Share on other sites

del_user_56966

A proposito dei link per il download, visto che spesso sono modificati penso che sia opportuno che

chi lo vuole scaricare, e tenere aggiornato faccia una semplice richiesta alla seguente mail... assistance[at]xcommzone.com

cosi evito di dover riscrivere n.. volte il link in MP che poi magari il giorno dopo non vi funziona neppure... :lol:

Link to comment
Share on other sites

del_user_56966
Allora, se ho ben capito ABS-xcomm e uno strumento che mette a disposizione una serie di dati (ad esempio dati da un plc come uno zelio tanto per restare in tema) da noi dichiarati in ABS-xcomm e molte altre funzioni.

GIUSTO?

si questa per esempio è un altra delle potenzialità di integrazione

universale del framework ABS-XComm Integrazione RFID e VoIP

ma è solo un esempio, in realtà i limiti d'integrazione su un architettura di questo tipo che utilizzi una tecnologia come XComm sono indefiniti... ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...