02-14-2015 05:58 AM
Hello,
I have developed an application that reads and writes information from and to an OPC server (Phoenix Contact), and for this have used the DSC Module and labview 2014. When I run it from LabView, it works perfectly. I want to deploy it to another computer and for that I have created an Installer that includes the source files, the labview runtime, the DSC runtime, ni distributed manager 2014, and the variable engine.
When I install my application to the other computer, it doesn't "see" the data from opc, although the data reaches the computer (I've checked). Can you please help me with some suggestions regarding this problem? Am I missing something?
Thank you.
02-14-2015 09:22 AM
How have you verified it reaches the other computer? Can you make your executable debuggable to see if the executable is reading anything?
Are you using NI OPC Servers on the development PC to convert the data to shared variables and not doing so on the deployment PC?
02-15-2015 11:34 AM - edited 02-15-2015 11:39 AM
I have verified and the data reaches the computer the application is supposed to run on by installing the utility that Phoenix Contact provides for reading data from OPC, which enables me to see the values i was supposed to receive. It's just that the application can't read the data for some reason.
I'm using the Distributed system manager both on the development computer and on the other computer if that's what you mean. I have also added the DSC runtime to the installer i've created for the application, if that helps you understand. I will try to make my exe debuggable, but besides that, I have no idea what to try anymore.
02-15-2015 04:04 PM
You don't have NI OPC Servers on either computer? That's generally the software required to talk directly to an OPC Server. On the computer where things are working, try going to your start menu and searching for NI License Manager. See if there is a listing for NI OPC Servers. I'd expect it to be activated to a single driver.
On the deployment PC, make the same check. I'd expect it to be missing.
The distributed manager is just a way to view the shared variables you have on the system and interact with them. DSC works with NI OPC Servers to display your tags. The RTE is needed on the deployment PC. But, I'd also expect you to need a way to convert the tag into the shared variable you're seeing in both the DSC RTE and distributed manager.
Using the Phoenix utility shows the computer is connected to the same network. But, it doesn't show the tags are reaching LabVIEW. You're generally better off starting with the Quick OPC Client as this will use similar methods that LabVIEW will.
02-16-2015 12:24 AM
I do have NI OPC Servers on the development PC, activated, as you correctly guessed, for 1 driver. Should it be activated for unlimited drivers?
Also, if I install it on the deployment PC, should it work properly? Is there anything else I need to add to the installer, aside from the RTEs?
I'll try using OPC Quick Client and come back with the results. In the meantime, feel free to ask me anything you think would help, maybe this way I can figure it out, seeing I'm a relatively new LabView developer and I'm not so sure where to start yet,
Thank you for your replies.
02-24-2015 01:03 AM
I have tried the quick OPC Client and the data reaches the deployment computer. The distribution I have built works perfectly if i install some of the labview components (labview 2014, with no extra modules but the DSC and the device drivers). I made sure the DSC RTE, the variable engine and the labview RTE were selected as aditional installers. I've also checked the .ini file and the readvar line is set to TRUE.
The network controller of the deployment computer is configured accordingly.
Am I missing something else?
02-24-2015 07:32 AM
Is the DSC RTE activated on the deployment PC?
Is the OPC server reading correctly on your development PC?
If you're only using a single OPC server, single driver is fine. Unlimited drivers is for multiple OPC servers.
OPC Quick Client is a good way to see things generally. But, it's sometimes a tease. If the driver isn't supported, it still doesn't always work.
When you build the application, make sure it's debuggable. Take the debuggable exe to the deployment PC and see where you're starting to miss data.
Also, try using a bound indicator. To do that, right click on an indicator and choose properties. There should be a tab that says something like data binding. Instead of using the PSP server, try using data sockets and find your tag that way. Put the indicator in a loop and see if this updates the values from your OPC server. If so, try moving it to your deployment PC and see if it continues to receive the data. With some unsupported drivers, this method works better.
02-24-2015 07:51 AM
I will check if the DSC RTE & OPC Server is activated on the deployment PC.
I have checked in the services window and all of the services related to NI are active. Is there another place I should look? Also, I will try the bound indicator solution. Unfortunately I don't have acces to the deployment pc today, and I need to wait until tomorrow morning. I will post results after I get there.
Thank you for the ideas.
02-24-2015 08:00 AM
What services are you worried about? I'd expect the services are running fine if you can see things in the quick client.
I should have linked this sooner: http://www.ni.com/white-paper/6417/en/ That's the list of supported OPC servers. Is yours on the list? If not, we're trying to get around that.
Debuggable exe's are different as they have an accessible block diagram. This is one way to see what's happening what is going on in the executable that is different than the VI. Is the executable able to successfully run on the development PC?