LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Datasocket

I have inherited an application that uses datasocket and OPC.  This image is the start of the program.  There is no datasocket open, nor is there a datasocket close.  How can this work, and what are the possible complications?

 

snip1.PNG

0 Kudos
Message 1 of 3
(2,152 Views)

The code section you post seems to make programmatically, on several front panel's controls, what you can do with "Data Binding Page" properties for every control. Open LabVIEW Help and search "Data Binding Page (Properties Dialog Box)" for more details.

For what is worth, it seems to work, for me. Even if not very popular, datasocket technology can be a good way to share data between applications.

In my personal experience, problem arises from OPC. Some OPC servers are slow, expecially if you have (not so) many tags (as in this case). I suggest to make a test (speed and reliability on I/O communication) on real hardware before to start with development.

0 Kudos
Message 2 of 3
(2,086 Views)

Thanks for the reply.  This code has been in use for 6 years, so I know that it works.  He put a 100ms delay into the while loop that all of the controls and indicators are in, so I suppose that's enough time to let the server respond to requests.  I understand the general principal that publishers and subscribers send data to and receive data from the OPC server asynchronously.  What I don't understand is how the "Items" are created.  Are they created ad hoc by the publisher telling the OPC server to publish them?  We have several test bays and that would seem to open the possibility of multiple publishers creating an item with the same name.  As you can see, we are using KepserverEX for the OPC server software.  My next step is to find the documentation for that.  What I found puzzling/amusing about this VI is that the programmer was smart enough to figure out all of this OPC and datasocket stuff, but while indexing in an array into a for loop still felt the need to feed the array size into the count terminal.

0 Kudos
Message 3 of 3
(2,079 Views)