Vai al contenuto
PLC Forum


Opc Client In Vb.net - Dll per leggere i dati dal server


MrC

Messaggi consigliati

esiste una dll free per leggere/scrivere da un client vb.net su un Opc server ?

Di solito la dll viene fornita dal fornitore del server Opc (siemens, Kepware) , ma non mi piace ogni volta cambiare dll in base al fornitore e vorrei passare a una dll standard che sia sempre quella !!!

Link al commento
Condividi su altri siti


Sono alle prese con lo stesso problema. Vediamo se unendo le forze si riesce a capire qualcosa.

Le mie esperienze precedenti sono con VB6. Facendo riferimento alla dll OPCAutomation.dll (installata con SimaticNet della Siemens) avevo costruito i miei moduli per il collegamento al server.

Referenziando la stessa dll con VB.NET e provando ad utilizzare le stesse funzioni usate in precedenza ci sono dei problemi di incompatibilità di tipi quando si passano alle funzioni gli array (p.ex OPCItemCollection.AddItems(Length, NomiItems, ClientHandles, ServerHandles, ServerErrors) va in errore sui tipi array ServerHandles e ServerErrors)

Sul sito dell OPC Foundation ( www.opcfoundation.org ) se ho capito bene si fa riferimento a 2 tecniche diverse.

Una prevede il wrapping del componente .COM rimappando i tipi di dati per renderli compatibili col Framework.

L'altra attraverso il riferimento a nuove dll (API .NET http://www.opcfoundation.org/DownloadFile....3.00.htm?RI=315 ) espressamente scritte per :NET

Per la prima soluzione (sconsigliata) sono liberamente scaricabili le dll che fanno già il lavoro (Core Components http://www.opcfoundation.org/Downloads.asp...KEY&CI=280&CU=5 scaricabili previa registrazione al sito). Ho trovato anche degli esempi di codice su come utilizzarle.

Per la seconda (consigliata) purtroppo lo scaricamento delle dll così come gli esempi è permesso solo ai membri dell'OPC Foundation .

Ciao Claudio

Link al commento
Condividi su altri siti

Ciao Claudio, guarda, ho avuto moltissimi problemi nel passare dei dati (puntatori) a dll scritte in c++ nel passaggio da Vb6 a vb.net . :sad_2:

Ti sconsiglio anch'io di "adattare i dati" e di migrare alle nuove dll.

Utilizzare le dll distribuite da OpcFoundation mi piace come idea, se non altro OpcFoundation è un nome importante che mi tranquillizza :D

Ma 6 sicuro che bisogna essere membri per scaricare le dll, e che non basta registrarsi ?

Che pacco ... :o

Link al commento
Condividi su altri siti

:( Mannaccia ...

Per scaricare OPC .NET API 1.30 SDK che mi sembra sia quello di cui abbiamo bisogno bisogna essere membri di OpcFoundation ...

Hai ragione tu ...

Alternative ?

Link al commento
Condividi su altri siti

secondo me c'e' la possibilita per non comprare piu niente , hmi , dll , activex ect

e cioe farsi il proprio plc o sistema di automazione basato su micro ed fpga

cosi ci facciamo tutte le ns. belle cosette e non paghiamo niente

Ma se poi , :o , a qualcuno piace il ns. sistema cosa facciamo , glielo vendiamo ?

Ok ma i tool per poterlo programmare ?

Glieli regaliamo dai , tanto per noi esser stati un anno a farcele cosa vuoi che sia costato ?

Pero se ne vendiamo tanti potremmo veramente regalare i sw

cosa ne pensate ?

facciamo un bel progetto online , creare un sistema di automazione composto da controllore,

remotati , display , e hmi

cosa ne pensate ?

:lol:

poi le scriviamo noi dll per comunicare col ns sistema cosi possiamo finalmente

regalarle nel bene della collettivita e dello sviluppo del pianeta

Modificato: da walterword
Link al commento
Condividi su altri siti

La scorsa settimana ho sentito la Siemens.

Da quando è arrivato il .NET loro hanno sempre utilizzato, fornito e consigliato le dll wrapper (OpcRcw.xx).

L'utilizzo di queste dll non è per niente elementare e presuppone l'utilizzo di tecniche di programmazione evoluta per la gestione della memoria (mashalling).

Ho trovato però una discreta quantità di esempi che alla fine mi hanno permesso di ricreare il cuore dell'applicazione (registrazione server, gruppi e item, srittura/lettura sincrona/asincrona).

Anche se ho ancora qualche problema con il Framework 2 direi che la cosa si può fare.

Ciao Claudio

Link al commento
Condividi su altri siti

circa 2 anni fa ho impiegato quasi un mese per mettere a punto la comunicazione opc server - S7

c'e' una dll che non ricordo il nome , che si aggiunge come riferimento (assembly)

Uso , anzi usavo perche da qualche mese non lo uso piu , VC# .net

Come dici tu bisogna creare gli oggetti server , gruppi , item

Poi con i servehandle ect si possono utilizzare le funzioni di scrittura e lettura sincrona o asincrona

Si possono anche creare i delegati per gli eventi sulla variazione di un gruppo di variabili .

Avevo poi anche creato un oggetto custom (ereditato da textbox e pulsante) che mi permetteva di

assegnare nella tabella della proprieta del pulsante anche la stringa item ed altro .

Niente male , solo che bisogna sempre stare "attaccati " a queste tecnologie

ciao

walter

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