Professional OPC
Development Tools


Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

Error: Change browse position not feasible

20 Dec 2013 18:23 #1631 by support
The error message attempts to explain the issue. If the OPC server indeed does not support OPC-DA 2.0 browsing, AND you are calling a BrowseXXXX method on one of the sub-folders without browsing their parents first, then the behavior is by design.

Explanation: In OPC-DA 1.0, there is no general way to start the browsing from the point given by an Item ID. One always has to go from the root. And, the OPC does not have a general syntax for OPC item IDs, so if the client is provide just with the "SimDevice.Filter1.FlowRate" Item ID string, it cannot parse it using the dots as delimiters, because there is no such thing in the OPC specs, and other servers may do it differently. Only OPC 2.0 and later allows to pass in an Item ID and browse from there.

So, if the server only has OPC-DA 1.0 or if it has OPC-DA 2.0 but does not support the OPC_BROWSE_TO sub-functionality, the only way to browse to sub-nodes is to always start from the root. Call BrowseBranches on the root. Then, call it on "SimDevice". Then, call it on "SimDevice.Filter1", etc. This should work.

The other way to do it would be to use "browse path" instead of the Item ID. As opposed to an Item ID, there is a well-known syntax for the browse path, - because we have defined it, on the client side. The browse path has to start with "/", and then each element is separated by "/" as well. In your case, the browse path will probably be e.g. "/SimDevice/Filter1/FlowRate". The browse path cannot, however, be simply used in place of an item ID. Instead, you need to construct a DANodeDescriptor, set its BrowsePath property, and then pass the DANodeDescriptor to one of the BrowseBranches/BrowseLeaves/BrowseNodes methods.

If you believe that the server actually *does* support OPC-DA 2.0 with OPC_BROWSE_TO, or OPC-DA 3.0, then the error you are getting would not be the expected behavior, and we will have to look deeper.

Please Log in or Create an account to join the conversation.

20 Dec 2013 17:30 #1630 by arahming
I had scrapped this project because nothing was working to browse a few of our servers but my boss has requested I get this done again

I see the error below on several of our production servers and am able to replicate it using the "EEI.OPCSimulator" OPC server from open automation I cannot browse below the root

trying to browse to these to tags gives the error below


I can browse the "SimDevice" leaves but none of the folders below it

"Change browse position not feasible. This error occurs during browsing, if the OPC Server does not support OPC-DA 2.0 (OPC_BROWSE_TO value of dwBrowseDirection argument in IOPCBrowseServerAddressSpace::ChangeBrowsePosition) and the ItemID to browse into has not been previously encountered during browsing. If the OPC Server supports OPC-DA 2.0, this error means that the ItemID is invalid. If the OPC Server only supports OPC-DA 1.0, this is neither an error of the OPC Server nor the OPC Client, but rather an indication that in order to assure succesful browsing, the application code should start the browsing at the root and proceed gradually to subsequent levels. If the OPC Server only supports OPC-DA 3.0, the error indicates that the application should provide full ItemID instead of (or in addition to) the path sequence of branch ItemIDs. "}

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.061 seconds