Newsgroup: it.comp.dotnet
Titolo: Come 'parlano' un client ed un server dcom ?

Dispongo di un programma gestionale che integra un client dcom (client opc) 
per comunicare con un server dcom (server opc) che a sua volta 'parla' con 
delle schede elettroniche installate in fabbrica
In sostanza il programma di supervisione e' il client opc, che parla col 
server opc, il quale a sua volta sa come dialogare con le schede 
elettroniche
Bene, fin qua' niente di anormale, e' l'architettura usata da gran parte 
degli scada in commercio per dialogare con plc e sistemi di misura sul 
campo, una specie di odbc per i database, uno strato intermedio tra dati e 
client
Ora, vorrei realizzare una scheda elettronica che integri al suo interno la 
funzionalita' di opc server (che in sostanza e' un dcom server)
Vista la limitatezza di risorse in termini di memoria disponibile a bordo 
scheda, vorrei implementare un opc server ridotto all'osso e quindi abile 
solo per la lettura dei canali di ingresso della scheda stessa
Supponiamo che non conosca niente della tecnologia Opc
Supponiamo che non conosca niente della tecnologia Dcom
Supponiamo che abbia a disposizione un sistema di test composto da un opc 
client, un opc server, una scheda elettronica che risponde all'opc server
Supponiamo che l'opc client sia un programma in esecuzione sul pc1, l'opc 
server sia un programma in esecuzione sul pc2, la scheda elettronica abbia 
porta ethernet, e tutti e r i dispositivi siano collegati nella stessa rete 
locale e dispongano di stack tcp/ip funzionante
La domanda e': come fare per capire cosa avviene nel momento che un opc 
client invia una richiesta all'opc server desiderato ed ottiene una 
risposta?
In sintesi, vorrei capire come fare per inviare comandi, via lan, dall'opc 
client direttamene verso la scheda elettronica ed ottererne delle risposte
Ciao e grazie
RobertoA

 RobertoA
Stai scegliendo la strada più complicata e che non ti darà risultati.
A livello di rete vedrai solo il traffico tcp/ip generato 
dall'infrastruttura RPC usata da DCOM.
Il protocollo RPC è molto complesso e intervenire a questo livello non 
è produttivo.
Per scrivere un opc (client o server) devi necessariamente studiare e 
comprendere a fondo il suo protocollo. Questo credo che sarà il punto 
indispensabile.
Per quanto riguarda dcom probabilmente potrai farne a meno e 
incapsulare tutte le richieste di opc dentro, ad esempio, una 
comunicazione basata su WCF. Dcom infatti ha numerosi problemi non 
semplici da superare tra cui la security.
Se però devi interagire con l'infrastruttura dcom già esistente, non 
potrai fare a meno di studiarti come funziona e implementare gli 
oggetti con le interfacce richieste dalla tua infrastruttura opc/dcom.
-- 
Raffaele Rialdi  
http://www.iamraf.net
Weblog: 
http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile 
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET - 
http://www.ugidotnet.org/

 UGIdotNET - 
http://www.ugidotnet.org/
Il fatto e' che tutta la documentazione relativa a rpc e dcom viene vista 
sempre da dentro un ambiente Microsoft Windows
'trasportare' il tutto (o almeno la parte che mi interessa) su di una 
schedina proprietaria mi sembra un'impresa titanica a meno di trovare delle 
funzionalita' gia' belle e pronte esattamente per il micro che usero', e su 
questo gia' c'ho messo una pietra sopra
Poi, per avere la documentazione adeguata su opc client/server bisogna 
'arruolarsi' tra i partner sostenitori di OpcConnect e li vanno fuori 
qualche migliaio di euro
Viste le considerazioni sopra e visto che mi basta una funzionalita' base 
base (mi basta leggere alcuni di un opc server), pensavo che 'sniffare' la 
rete avrebbe potuto farmi vedere cosa passava come richiesta e cosa veniva 
restituito come risposta dal sistema di test di cui gia' dispongo
Replicarlo con la scheda elettronica sarebbe poi stata una bella impresa ma 
comunque un obiettivo raggiungibile
Ciao e grazie
RobertoA

 RobertoA
Prego
-- 


 
http://www.opcconnect.com/source.php
Grazie
Avevo gia' visto la documentazione disponibile in quella pagina
A parte alcune procedure in Delphi, tutti gli alri anche se c'e' scritto 
Free dispongono di librerie che integrano i meccanismi principali
Librerie che ovviamente non sono gratuite e neanche visibili a meno di 
acquistare i sorgenti
Ciao e grazie
RobertoA