Jump to content

Interfacing LabVIEW with an OPC server through DCOM via the automation


Recommended Posts

Hello,

I have to develop a LabVIEW application involving a certain number of OPC items (typically one or two hundred items).

From what I read on NI forums and on LAVA.org, I have mainly seen two types of solution : Datasocket or DSC module.

- DataSocket API : it seems that it doesn't suit very well in this case (the number is a bit to high : the creation of one OPC group at each "DataSocket Open" can lead to performance issues).

- DSC : the inconvenient is the price of the license and I think DSC has many functionalities that I don't need for my application (Data Logging, HMI, Database Connectivity...).

I think that an intermediate solution can be to implement the automation wrapper of the OPC foundation. My idea is to use from LabVIEW the DLL "OPCDAAuto.dll" which exposes an Automation COM interface.

From what I understand of LabVIEW, ActiveX and DCOM, there shouldn't be feasibility issues.

I wanted to know if someone had already implemented this kind of solution and what are the capacities in term of performance.

Thank you by advance to anyone able to give me an advice on this topic.

Best regards.

--

jfl

Link to comment

Hello Tom Eilers,

Thank you for your message, but I think it doesn't answer to my question. I'll try to be more precise :

Effectively, the shared variable engine included in LabVIEW 8 is an OPC server.

But the application that I want to develop with LabVIEW must communicate (as an OPC client) with an existing remote OPC server which is not LabVIEW.

The topic of my question was to know if someone had already developed, with LabVIEW, an OPC client based on the automation wrapper of the OPC foundation and if the performance are better than with DataSocket API (personally, I think it will be...)

Regards

--

jfl

Link to comment

Hello,

Thank you to dwisti and Karl Rony for your answers.

From your point of view, with this type of solution, are the performance of OPC exchanges far better than with Datasocket API ?

A little question to Karl Rony : on OPCware web site there's a comment on the use of "OPCWare Client Developer" with labVIEW. It has been written by a certain

"- KR, Instrument Engineer & LabVIEW Programmer". Is it a coincidence or is it your comment ?

Regards.

Link to comment

I experimented with LabVIEW's OPC client capabilities with LabVIEW 7.1 using datasockets. My first concern was LabVIEW's recommendation to use the 6.x VIs for OPC client applications. I also had trouble with reliable communications without a 2 second delay between operations.

I wasn't performing the operations very efficiently and pondered the thought of spending a 2+ weeks rewriting and enhancing my code. Instead, I tried out OPCWare and had a nice solution in under 4 hours. I purchased the software that afternoon and never looked back. The OPCWare product has a nice COM runtime interface that allowed me to manipulate the tags in the LabVIEW application as I troubleshooted my development.

One of my LabVIEW / OPCWare application was a small application to open and close a Profibus-DP controlled actuator. A host computer had a Softing Profibus PCI master and the Softing OPC server. I configured tags on the server to support several actuators with a common name structure. By changing the OPCWare XML tag file, I easily ran the same LabVIEW test program independently on several computers controlling separate actuators through the Profibus OPC server.

I am the KR on the web site.

Link to comment
  • 1 year later...

@KR: Can you give me some additional info on how to use OPCWare with LabVIEW? I'm totally stuck after downloading the demo software. There are no LabVIEW examples to be found :-( Also I don't fully understand the licensing model: If I develop an application on my PC (and therefor install the license on my PC), can I then deploy it on the customer's PC? Does the customer's PC need another license?

I've got the same problem as the thread starter: I have to write 300 to 400 Items and using data sockets it takes between 5 and 10 minutes(!). Any help would be very appreciated.

TiA,

pro

Edit: As this thread is rather old: Does anybody know of any other solution to this problem?

Edit2: I just stumbled across http://www.deltalogic.de/content/view/21/38/lang,en/ - sounds promising...

Link to comment
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.