Newsgroup: it.comp.appl.access
Titolo: [7/9 OT] Come costruire un Opc Server ?

Per chi non lo sapesse un Opc Server e' un programma che  puo' comunicare 
con hardware di diverso tipo (plc, schede acquisizione, ecc...)  e resta in 
attesa di comandi o interrogazioni da parte di un Opc Client
E' un sistema standard per interfacciare hardware di diverso tipo con 
procedure software standard che dispongano di un Opc Client integrato
Il paragone coi driver odbc e' perfettamente calzante, una procedura che 
parla via odbc puo' scriver su qualunque db per il quale sia disponibile il 
driver odbc
Ecco, il mio problema e' poter scriver un server Opc, poiche' dispongo di 
una scheda di acquisizione dati, dispongo del software che dovrebbe leggerne 
i dati ma i due sistemi parlano lingue diverse
Il software di cui dispongo, non di mia produzione, dispone pero' la 
possibilita' di interfacciarsi con un qualsiasi Opc Server e quindi devo 
realizzare un Opc Server che comunichi con la mia elettronica
Ora, iscriversi all'OpcFoundation costa almeno 2500 dollaroni
Esistono dei toolkit che permettono, aloro dire, di crearsi il proprio Opc 
Server, costi dagli 800$ ai 2000
Il sistema devo realizzarlo per un unico prodotto e quindi non posso 
spendere soldi senza speranza di recuperarli
La domanda e': sapete come sia possibile realizzare un Opc Server senza 
spendere di solo acquisto attrezzatura/librerie centinaia di euri?
Scusate se ho scritto qua, ma un gruppo piu' specifico e un po' movimentato 
proprio non c'era
Ciao e grazie
RobertoA


Ciao Roberto.
Io lavoro quotidianamente con OPC sia Client che Server... ma non
fatti da me ovviamente...
Mentre un Client è discretamente semplice, tovi codice nativo per VB6
sul sito della OPCFoundation... per un OPC_Server
le cose sono molto complesse, e non è fattibile in VB6 principalmente
perchè non può lavorare in MultiThread...
Ci sono in giro dei SW anche Free ma sono sviluppati in C# o VB.Net...
e vengono visti come Activex
Non ho idea di cosa possa costare un prodotto Matricon... ma è tra i
più affidabili, ho avuto modo di fare un corso avanzato con Matricon a
Milano ed hanno un'ottimo parco prodotti...
Io lavoro con ABB(freelance2000) e GE(Cimplicity) quindi prodotti
Custom ben collaudati...
Fai attenzione che il ServerOPC deve connettersi ad un Driver
interfaccia COM tra se e il prodotto finale che spesso è un PLC o
simili... e, contemporaneamente rimanere in attesa delle chiamate dei
CLIENT...
Non solo come sai un server è diviso in 3 parti DA(Data access che
sono i dati realtime) AE(Allarm and Events) e HYST(Hystorical Data
Access o storico)...
Mentre l'ultimo è decisamente superfluo, il primo ed il 2° sono
fondamentali...
Le specifiche OPC in tutti i modi sono molto complesse, e ti
sconsiglio vivamente di pensare di sviluppare una cosa simile.
Di più non sò dirti... io non ci penserei nemmeno 1microsecondo...
@Alex



-------------------------------------------------------------------------
Purtroppo fin'ora (o finora???) ho trovato solo i classici toolkit per 
realizzare un opc server, dal quasi migliaio di euro in su, tanto per 
capirci questi:
http://www.softwaretoolbox.com/store/item_pages/itempage_960.asp
http://www.unified-automation.com/server-sdk.htm
http://www.iconics.com/products/opctoolworx.asp
....ed altri simili
Ma nel mio caso vorrei ottenere un sistema mooooolto piu' semplice
Non ho dati storici, non ho allarmi od eventi, devo solo leggere un valore 
di un paio di byte
Quindi, oltre che avere delle limitazioni di costo perche' devo farne solo 
uno, ho anche le necessita' estremamente striminzite
Il vero problema e' che sta' benedetta scheda deve essere 'vista' da un 
software che parla solo via opc client
Per questo sto insistendo nel cercare qualche esempio di codice che un po' 
rimaneggiato possa andare bene per ottenere un opc server minimo
Per fare il paragone con un driver odbc, mi basta che si colleghi ad una 
fonte dati e faccia una select, basta, ne aggiornamenti, ne cursori, ne 
cancellazioni, ne ordinamenti, ecc..
Per quanto riguarda il codice nativo VB6 su Opc Foundation, io mi sono anche 
registrato, ma non riesco a scovare nulla di quanto dici
Senza spenderci troppo tempo, se ti capita qualche link buono sotto mano, 
come pure i sw free in C# o Vbnet, ti pregherei di inviarlo, mi 
risparmierebbe sicuramente un bel po' di lavoro
Ciao e grazie
RobertoA


Sbaglio o questo è gratuito?
http://www.matrikonopc.ca/downloads/804/drivers/index.aspx
Potresti anche scrivere a Claudio Fiorani della Progea srl 
(
cfio...@progea.com
)
che è il rappresentante italiano dellla OPC Foundation, magari ti potrebbe 
fornire gli elementi per realizzare un piccolo opc server...
Qui trovi un pdf che potrebbe esserti utile
http://www05.abb.com/global/scot/scot209.nsf/veritydisplay/8589f307e0be08b2c125723300392640/$file/2cdc125023m0201.pdf
e che sembra riferirsi a questo prodotto (free per uso in locale):
http://www.3s-software.com/index.shtml?en_download
Anche questo link potrebbe servire:
http://www.opcconnect.com/freesrv.php
o questo:
http://www.advosol.com/driver.aspx?topic=FreeTools
o questo:
http://www.kassl.de/opc/download.shtml
Per oggi ho dato.
Ciao, Carlo


Ringrazio molto per la risposta
A parte il pdf  Abb, tutto il resto era gia' stato visto, e sono sempre dei 
demo castrati nelle funzionalita' oppure a tempo
Ho invece visto, nella sezione Delphi, c'e' un interessantissimo e quasi 
nascosto prOpcKit che contiene librerie ed esempi sia di Opc Server che di 
Client
Due mega e tre, d'oro puro
Poi cercando un po' in giro si vede che c'era una ditta (non piu' attiva) 
che aveva sviluppato un Opc Simulator, usando questa libreria di funzioni
Ho fortunosamente contattato uno dei due sviluppatori di anni fa che mi ha 
gentilmente inviato, sempre in Delphi, un mini-esempio di Opc Server
Non mi sono azzardato a chiedere il simulatore, mi sembrava di aver ricevuta 
gia' troppa grazia
Ciao e grazie
RobertoA


Alla grande!
Speriamo bene. Facci sapere.
Ciao, Carlo