OPC Data Client (by OPC Labs)

I’m prototyping a connection to an industrial controller for Read/Write of its tags via OPC and looking for feedback from anyone who’s done this before. I asked the vendor of the ‘OPC Data Client’ software I’m going to test out if they’d heard of or used RB/Xojo in the past, and they responded [quote]I have never worked with someone using Xojo before - but as long as it can instantiate and use COM objects - it should be able to work.[/quote]

I came across them via this link, which lead me to believe this could in fact be a potential solution.

Thanks to anyone who can offer some feedback regarding the area of OPC, using COM objects in this respect, or guidance of any kind.

HI William,

I have not worked with OPC, and have worked with quite a few COM objects in Xojo. If working COM code was developed on Realbasic, then there is a good possibility that it will work with Xojo. Most of the Realbasic code works in Xojo with some few minor adjustments needed.

Although OPC Labs shows a two-line portion of code, setting it up can be quite another issue. Is there a possibility that you can try a demonstration version before paying money for the full COM application?

Yes, I will definitely use a demo of the OPC Data Client before committing my $, for sure! I’ll post my progress here for anyone else who might benefit. As a small bit of background the reason for my need for this OPC connection is to open/close valves and other automated components of a Plant system we have - specifically in a test lab where we hope to write some very advanced automated test ‘scripts’ in Xojo, for testing of the hardware attached to the automation system.

Hopefully I’ll get time Monday to get things rolling.

I have used the Raspberry Pi for monitoring remote wells and made some lab equipment. It would seem to be much easier if OPC has the drivers already written for the components in Windows.

OPC sounds really interesting :slight_smile:

Open source OPC client/server library

Maurizio - the link you sent is fascinating. The OPC Server I’m attaching to uses (older) COM technologies, and it looks like the ‘open62541’ you referenced works with the (new) OPC UA architecture. I’ll definitely give this a look - thanks!

I’ve had a bit of a struggle getting a working test going, but the support team at Software Toolbox are excellent!

I hope to leave a very detailed log of my successful implementation for others to benefit from. Google’ing “OPC XOJO” will not return anything useful, so forgive me if I embellish this thread with TMI. First a quick recap…

Objective: Create Windows-based custom software that can Read/Write process variables and set points within the DeltaV environment via OPC-DA (COM), “Classic” specifications, thru Microsoft COM (OLE automation).

OPC Client Toolkit (drivers): ‘OPC Data Client’ from OPC Labs (Czech Republic), sold and supported by Software Toolbox (Charlotte, N.C.)

OPC-DA clients use a ProgID (Program Identifier) to specify the OPC Server they want to talk to, and then ask the server for a specific tag (piece of data from the field device). They can either do a one-shot read, or ask the server to send it updates any time the data changes in the field device.


The version installed and tested: OPC Data Client Version 2017.1 (5.50) was released on August 2nd, 2017

In order to use ‘OPC Data Client’ in the XOJO environment, all development and deployment must be done on a Windows platform, where OLE is supported.

XOJO IDE used for testing: version 2017 release 2

OPC Data Client User’s Guide and Reference:

I’ve successfully configured a remote client (a stand-alone PC running OPC Data Client) which connects to the OPC.DeltaV.1 OPC-DA server, and can Read/Write to values from and to nodes. I have installed and uninstalled so many different solutions on this machine to get to a successful point that I’m now going to wipe my Windows 10 client PC clean and re-install the bare essentials and document each step.

If anyone has used OPC, which uses Microsoft COM, you understand the complexities of COM, security, and the headache of getting the Server/Client to communicate. As soon as I perfect the recipe I’ll publish it to this thread.

Hi William,

I am very interested in your results with Xojo and OPC, and thank you for documenting your struggle here. A few years ago, I attempted to use Xojo with OPC in an application at a brewery - could not find enough information to make it happen with my limited programming knowledge.

I ended up buying a .net wrapper from Advosol (OPCDA.Net) and used vb.net to develop a simple SCADA/HMI for the brewery. I use Xojo for most of my projects lately, and have some upcoming work at the same brewery, which involves OPC DA again. I would love to use Xojo, and look forward to your next post.

Conclusion: the [quote]OPC Data Client[/quote] from Software Toolbox (aka OPCLabs) works exceptionally well, and the support from Software Toolbox goes above and beyond. If anyone in the automation industry needs some tips on connecting to Emerson’s DeltaV control system please don’t hesitate to contact me directly - I’m happy to help!

Old post, but right people involved:-)
I’m interested in developing a Opc UA server.
Would like it to work on Windows and Pi.

Will the library from OPClabs do this or should I think of developing it from scratch in Xojo?
UA is the “easy” one right? XML and SOAP


Hi Kato,

I haven’t ventured into OPC-UA (yet), so I’m really not sure of the answer. As to your question whether it’s the ‘easy’ one, I’d say likely ‘yes’, ad OPC-DA uses DCOM and widows security, which is often times problematic. That said, I haven’t had any issues yet with the few OPC-DA apps I have deployed. I went back to OPCLabs.com and started looking around for easy answers to your questions but found so much to read in their forums that I think it’d be best if you went to look at directly.

Hope this helps!


Thanks William, i’ll do that.