LabVIEW DSC Can’t Connect to OPC Server but Server Explorer and DataSocket Can

Updated Dec 11, 2017

Reported In

Software

  • OPC Servers

Other

LabVIEW DSC

Issue Details

I have created a new OPC I/O server which uses an OPC server to get data from my PLC.  After deploying the library with the I/O Server, my shared variables return Error 8BBB0003 (Server failure), or no data is returned at all. 

Reading or writing to the OPC Server using DataSocket works correctly and I can connect to the server using Server Explorer, so I know that the OPC server is functioning properly.  How can I set up the OPC server to work with the LabVIEW Datalogging and Supervisory Control (DSC) Module?
 

Solution

  1. Change the Identity Property of the OPC Server
    1. Go to Control Panel » Administrative Tools » Component Services to open the Component Services Manager.
    2. Navigate to the OPC server by going to Component Services » Computers » My Computer » DCOM Config.
    3. Right click on the OPC server that is used in the I/O Server and select Properties.  If you are using OPC with FieldPoint or Compact FieldPoint, the OPC Server is FieldPoint OPC2.  (Binding to the OPC Server is not recommended with (c)FP systems.  See Methods for Binding a Shared Variable to a FieldPoint Channel.)
    4. In the properties dialog box, select the Identity tab, and change the user account to be The interactive user.
    5. Restart the computer to apply new DCOM settings.
 
  1. Change the Log On Account for the SVE Service
    1. Go to Control Panel » Administrative Tools » Services to open the Services Manager.
    2. Right click on the NI Variable Engine service and select Properties.
    3. In the properties dialog box, select the Log On tab.
    4. Change the Log on account to be Administrator, then click OK.
    5. Restart the SVE service to put the above changes into effect.

Additional Information

The I/O Server makes calls to the OPC server through DCOM, even if not using a remote OPC server.  The DCOM user checking can block all user names that are not registered with the server. When using DSC as an OPC client, the NI Shared Variable Engine (SVE) is the application that makes the connection to the OPC server.  The SVE is a system service and, by default, logs and runs as the local system user.

The communication can be rejected if the user name of the service is system.  As long as the I/O Server is still deployed, it will continue to try to connect with the OPC server and fail, and shared variables will return the Server Failure error or no data at all. To avoid this issue, change either of the following settings.

Prior to LabVIEW 2012, NI Variable Engine is listed as National Instruments Variable Engine in Windows Services. This behavior is known to occur with Campbell Scientific OPC Servers and Takebishi's DeviceXPlorer OPC Server.

WAS THIS ARTICLE HELPFUL?

Not Helpful