Server does not appear in selection list
There may be times when you configure a group that the server you want does not appear in the select list.
If this is a local server, it is likely not installed or registered correctly. In this case, consult the server’s documentation on how to correct this. In some cases, it can also help to start the server once, possibly with special parameters in the command line (e.g. “/RegServer“).
If you don’t see a server that’s installed on another machine, there may be several reasons:
- The server conforms to OPC specification 1.0. Such servers cannot be listed over the network.
- On the computer of the server is the program for enumerating the servers OPCENUM. EXE not installed.
You can copy the program from the system directory of the VisXpert machine to the server machine
and register it there (run “OPCENUM /RegServer“). - The DCOM configuration on the server’s computer does not allow you to access OPCENUM.
Change this using the DCOM configuration (DCOMCNFG. EXE).
Problems exchanging data with specific OPC 2.0 servers
By default, VisXpert always uses the latest version of the OPC specification that a server supports. It has been shown that some servers are not yet fully implementing the newer features. In this case, there is the option “Use OPC version 1 only” in the “Group Properties” dialog box. This allows you to cause VisXpert to use only version 1 calls.
Note: You should only use this option if you really need it. Communication according to version 2 of the OPC specification is preferable.
Data is being updated too late
Some servers do not immediately send a value to the client (as required by the OPC specification) for a newly logged-on variable (OPC Item), but only after its value has changed. The corresponding values are available in VisXpert® accordingly only then available (e.g. for display).
To work around this error in the server, visXpert has the option “Read value after activation” in the Group Properties dialog. When it is turned on, VisXpert places an explicit read job for it immediately after logging in to an update variable (activating the OPC item).
Note: You should only use this option if it is really unavoidable. It can greatly slow down startup and image setup and even cause some servers that are sensitive to increased load to crash.
Error
OPC Error Messages – Standards
0xC0040001
OPC_E_INVALIDHANDLE
The value of the handle is not valid.
An addressed object does not exist (more).
0xC0040004
OPC_E_BADTYPE
Server cannot convert client’s data format.
The configuration of the VisXpert variables is incorrect or out of date.
0xC0040005
OPC_E_PUBLIC
Operation not possible for public groups.
VisXpert does not use public groups of OPC servers, so this message should never occur.
0xC0040006
OPC_E_BADRIGHTS
Insufficient access rights for operation
The OPC item in question can only be read or written. VisXpert attempts the unauthorized operation
0xC0040007
OPC_E_UNKNOWNITEMID
Item not known (more)
The server does not know the OPC item addressed by VisXpert. The configuration of the VisXpert variables is incorrect or out of date.
0xC0040008
OPC_E_INVALIDITEMID
Item name syntax is invalid.
The name of the item does not have the structure required by the server or contains invalid characters from the server’s point of view. The configuration of the VisXpert variables is incorrect or out of date.
0xC0040009
OPC_E_INVALIDFILTER
Filter string invalid
Should never occur because VisXpert does not use filters when querying the items.
0xC004000A
OPC_E_UNKNOWNPATH
Access path of the item unknown
The access path is not valid. This can only happen if you have entered one in the configuration of the item in question. Correct or delete the value (an empty access path is always allowed).
0xC004000B
OPC_E_RANGE
Value out of range
The written value is not allowed. This can happen if the server uses a less accurate or large data type than VisXpert (e.g. always uses 64 bits for floating point numbers, but many servers only 32 bits).
0xC004000C
OPC_E_DUPLICATENAME
Duplicate names not allowed
The name signed for the OPC client or group that VisXpert has signed in is not unique. Can only occur as a follow-up error after other problems. Restart VisXpert and, if possible, the OPC server.
0xC004000D
Server can’t accurately meet required update time
No mistake. The server simply reports that it will not be able to meet the requested update time.
0xC004000F
OPC_S_INUSE
Operation cannot be completed because the object is still being referenced.
No mistake. The server will finish the operation later.
0xC0040010
OPC_E_INVALIDCONFIGFILE
Bad server configuration file
The server is unable to read its configuration. To resolve this error, consult the server’s documentation.
0xC0040011
OPC_E_NOTFOUND
The server could not find the requested object.
The configuration of the VisXpert OPC client and the OPC server does not fit together; possibly as a result of interactions with other clients or changes in the bus structure.
0xC0040203
OPC_E_INVALID_PID
Property ID is unknown to the server
VisXpert does not use properties, so this error should never occur.
Messages derived from OPC quality information
The OPC specification provides that the server provides a quality specification for each value it provides. For servers working according to version 1 of the specification, this is the only way to report certain errors to its clients.
The following messages are generated by VisXpert when it discards a value because the server does not specify sufficient quality for it.
Note: Servers that support version 2 of the OPC specification can provide each value with its own status code (error number). VisXpert then evaluates this more precise specification.
0xC1070008
ERR_VAL_UNCERTAIN
uncertain value, reason: not specified
The server does not specify why it could not reliably determine this value.
0xC1070009
ERR_VAL_INACCURATE
uncertain value, reason: inaccurate
The server indicates that the value is inaccurate.
0xC107000A
ERR_VAL_LOLIMIT
uncertain value, reason: at lower range limit
The value cannot be reliably determined because it has left the range of values at the lower limit.
0xC107000B
ERR_VAL_HILIMIT
uncertain value, reason: at the upper range limit
The value cannot be reliably determined because it has left the range of values at the upper limit.
0xC107000C
ERR_VAL_SUBNORMAL
uncertain value, reason: not reliably determined
The value could not be determined reliably (e.g. conflicting information from several sources).
0xC107000D
ERR_VAL_INVSUBQA
uncertain value, OPC server indicates invalid reason
The server classifies the value as uncertain, but specifies a reason not defined in the specification.
0xC107000E
ERR_BADQ_NONSPEC
no value, reason: not specified
The server cannot determine the value and does not specify a reason for it. Many servers primarily deliver this status while they are still busy getting the first value for an item.
0xC107000F
ERR_BADQ_CFGERR
no value, reason: configuration error
The server cannot determine the value because its configuration for this item is incorrect.
0xC1070010
ERR_BADQ_NOTCONN
no value, reason: not connected
The input from which this value is to be read is not connected
0xC1070011
ERR_BADQ_DEVFAIL
no value, reason: device error
The device from which the server is reading this value is not working properly.
0xC1070012
ERR_BADQ_SENSORFAIL
no value, reason: sensor error
The sensor from which this value is read is not working properly.
0xC1070013
ERR_BADQ_SENSORLOLIM
no value, reason: lower limit of the sensor
The value cannot be read because it is below the measurement range of the sensor.
0xC1070014
ERR_BADQ_SENSORHILIM
no value, reason: upper limit of the sensor
The value cannot be read because it is above the measurement range of the sensor.
0xC1070015
ERR_BADQ_SENSORCONST
no value, reason: Sensor can only provide constant value
The value cannot be determined, the output of the responsible sensor is constant.
0xC1070016
ERR_BADQ_LASTKNOWN
no value, reason: value not current
This is the last known value of this item before communication to the source was interrupted.
0xC1070017
ERR_BADQ_COMMFAIL
no value, reason: communication error
The value cannot be read because of a communication error.
0xC1070018
ERR_BADQ_OUTOFSERVICE
no value, reason: not in access
The value is not in the server’s access for some reason.
0xC1070019
ERR_BADQ_INVSUBQA
no value, OPC server specifies invalid reason
The server classifies the value as invalid, but specifies a reason not defined in the specification.
0xC107001A
ERR_VAL_INVQA
no value, quality (status) specification of the OPC server is invalid.
The quality level reported by the server is undefined.
OPC-related messages of the VisXpert communication module
0xC1070007
ERR_OPC_NORESULTRETURN
OPC server did not provide a result
The OPC server did not report an error or produce a result when calling a function where this is not allowed. This is a violation of the OPC specification. Contact the manufacturer of the server for a bug-cleaned version.
0xC107001B
ERR_CNV_OPCTOGP
Conversion OPC to VisXpert unknown
The conversion between the VisXpert data type supplied by the server and the desired VisXpert data type is not possible.
0xC107001C
ERR_CNV_ARREBYREF
Array element passed as reference
The OPC server sent a value that consists of an array of references to other values. Such fields are not generally allowed and are not supported by VisXpert.
0xC107001D
ERR_CNV_ARREARR
Array Elements as Array Elements
The OPC server sent a value consisting of nested arrays. Such fields are not generally allowed and are not supported by VisXpert.
0xC107001E
ERR_CNV_ARREUNK
Unknown type in Varriant array
The server sent a value that consists of an array that contains elements of a VisXpert unknown type.
0xC107001F
ERR_CNV_VARARR
VARIANT array not yet supported
The server sent a value consisting of an array of VARIANTs. Such fields are not generally allowed and are not yet supported by VisXpert.
0xC1070020
ERR_CNV_BYREF
Value transfer as a reference not allowed in OPC
The server has sent a value that must be addressed as a reference. This is not allowed by the OPC specification and is not supported by VisXpert.
0xC1070021
ERR_CNV_GPTOOPC
Conversion VisXpert to OPC unknown
It is not possible to convert the VisXpert variables to the type of The OPC item (when writing).
0xC1070022
ERR_OPC_ZEROTRANSID
Transaction ID 0 prevents job assignment
According to version 1 of the OPC specification, the OPC server assigns transaction identifiers. The ID 0 is not allowed.
0xC2000013
ERR_KOMM_NOTOPCDASRV
COM object is not an OPCDA server
The entry under “OPC Server” in the group configuration refers to a program that is not a server after OPC DA (Data Access) version 1 or 2.

