OPC-DA Client driver
troubleshooting
For OPC-DA Client driver troubleshooting, the following section lists common tasks, problems, and their resolutions.

The features and functions available in a node are controlled by the licenses that are installed in the node.
To verify that the OPC-DA Client driver license is installed:
- From the Workbench left pane, expand the node whose license you want to check, and then select the Administration icon.
- From the Administration window, select the Licenses tab.
- Select the appropriate license. Details of the license appear on the tab.
- View the Features field to identify the device driver.
If you do not see the correct license, or if the license is expired, you must request a license from your license key provider.
For information on how to install a license, refer to System Administration > Licenses.

The OPC-DA Client driver is not part of this node's installation. The OPC-DA Client driver is installed as a separate package, separate from the base product installation.
You may be working with different levels of nodes, each with different levels of support for devices. Ensure that this node is one with support for OPC-DA Client devices.
For information on how to add the OPC-DA Client driver package, refer to System Administration > Packages.

Ensure that the OPC-DA Server that you are communicating with is on the same machine in which devcieWISE is installed.
If the OPC-DA Client hangs in a starting node, the OPC-DA Server that it is pointing to may not be started. Check to see if the OPC-DA Server is stopped and if so start the server. You may also find that the server is no longer installed on the Windows system, in which case the OPC-DA Client will not be able to start.
Attempts to read and write data to an OPC tag fails
If this happens it may indicate that the device is configured to communicate to the server using the wrong specification. For example the server may only support version 2.05 of the OPC Specification, but when defining the device, the Session based (OPC 3.0 Spec) option was selected in the Tag Read - Write Style parameter on the Device Definition panel. Modifying this selection will usually take care of the issue.

This can happen if the OPC-Server does not return a value when a subscription is first established. Often times when using the Subscription based (OPC 2.05 Spec) option the first time the OP-DA Client driver attempts to read a tag from the OPC-DA server, an value will be returned to the OPC-DA Client driver with a status indicating the value is not good due to it having not been initialized. This indicates that this is the first reference to the tag and the server has to initialize it with its internal publisher. The 2.05 specification utilizes a subscribe / publish system to acquire data. Typically all subsequent reads from the server will succeed as it begins to publish data changes to the OPC-DA Client driver.

This issue has been largely addressed, but the user may still experience delays in the display of variables and longer creation time for XML files. The enumeration of the OPC Server is now done in a background task, but it can take a long time when communicating with a server that contains many OPC Tags and the tags are nested within a complex structure environment. This situation could occur when communicating with a server that is modeling a complex data structure defined in a Rockwell ControlLogix device. Rockwell ControlLogix devices allow for the definition of user-defined data structures, which can contain many different data types, other user-defined data types, and arrays of either data types or user-defined data types. Traversing the entire tree of these complex data structures can be a time-consuming effort. This slow start time could also affect the amount of time it takes your node to start, as part of the node startup process is to start up any devices that were started when the node was last stopped. The only solution to this issue is to use the Rockwell device driver instead of the OPC-DA Client, if possible. The Rockwell device driver communicates directly with the Rockwell ControlLogix devices, and in doing so is able to determine the layout of user-defined data types in a much more efficient manner.

OPC handles the processing of string data types in a much different fashion than the runtime. In runtime, the maximum string lengths must be predefined so that memory can be allocated for the values associated with string tag types. OPC does not have this requirement, consequently, it is difficult for the runtime to determine how to allocate sufficient memory to handle the maximum length for an OPC Tag whose data type is string. To overcome this, the OPC-DA Client driver allows the user to define a maximum string size value that can be applied to all strings for a particular OPC-DA server that it is communicating with. This is done through the default_string_size additional property. If you see that your strings are not being shown in their entirety, simply add this additional property to the definition of your OPC-DA Client device. Assign a value to this definition that will be large enough to display the strings defined on the OPC-DA server.

On some platforms the deviceWISE OPC-DA Server will no longer accept client connections if the deviceWISE OPC-DA Client package is added to the same node. A node will only be able to run either the OPC-DA Server package or the OPC-DA Client package if this problem is encountered.

This occurs when an "Access Denied" error code (0x80070005) is encountered during a read operation. It means that the deviceWise process does not possess the necessary permissions to connect to the OPC Server and has been blocked by the Windows operating system. To fix this, adjust the service properties of deviceWise Windows to use a local account with sufficient privileges by modifying the "run-as" settings.