Help needed: OPC client application in VC++


Thread Starter

X Guan


I am working on a Visual C++ application that requires access to an OPC server (e.g. an OPC enabled data historian) for real-time values of, possibly, hundreds/thousands of items simultaneously with varying sample periods (should be no faster than 1 second).

Earlier, we acquired the National Instrument Measurement Studio for VC++ tool with the understanding that it supports access to on-line data via OPC. Unfortunately it turned out that the toolkit will not be able to meet our needs as using the toolkit you can (1) only connect to an OPC server via a DataSocket object and (2) one datasocket object supports connection to 1 data item only.

The question I'm facing now is what to do next on the OPC connection side of my application:

Should I:

(A) Build the client based on COM/OPC spec., or
(B) Buy yet another toolkit (which may again be unsuitable for the application current or future needs)?

Since it's a client application we're interested in (for the time being anyway), I'm inclined to pursue Option (A) above. But having not done any OPC or COM before, I don't know what sort of time/learning curve is involved in the process. Realistically speaking, are we talking about weeks/months? Any thoughts on Option (B)?

Your help/advice is highly appreciated. Furthermore, I would be most grateful for any suggestions and, if possible, OPC client code samples that will help speed up the learning process.

Kind regards,


Industrial Systems and Control Ltd
50 George Street, Glasgow G1 1QE, UK
Tel: +44 141 553 1111/4023 (operator/direct)
Fax: +44 141 553 1232
E-mail: [email protected]

Mark Hensley (Kepware)

Hi Xiaohong,

We include the source code to our OPC quick client with the server download. Just go to and download the latest server. When installing the product make sure you select the C++ examples.

Hope this helps.