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.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Discovery, Browsing, Browse Dialogs and Controls
- Browse Citect Plant SCADA doesn't show the items under the BrowseProvider folder
Browse Citect Plant SCADA doesn't show the items under the BrowseProvider folder
According to my records, the LooseReferenceTypes property was introduced in 5.80.191. So your code won't even build with with 5.80.82.1 if it contained a statement with LooseReferenceTypes.
I am concerned when you say "We have <some version> installed". For the problems with the compiled application, it does not matter what version you have installed using Setup on your development computer. What matters is which version of NuGet packages are referenced in your project.
In any case, you should reference NuGet packages versioned at least 5.80.191, build your app, and deploy it.
5.80.82.1 is not enough.
Regards.
Please Log in or Create an account to join the conversation.
Thanks.
Michael
Please Log in or Create an account to join the conversation.
We are using Quick OPC Version 2023.1 (5.71.334.1) and NuGet version 5.80.278.
We have added to our code the following:
uaDataDialog1.LooseReferenceTypes = True
We are browsing the Plant SCADA OPC UA Server.
The problem is: only the first folder is browsable and show all items and sub folder. All of the rest folders are empty and shows zero items and sub folders. See the attached screen captures.
Any idea why only the 1st folder shows the items?
Thank you.
Michael
Attachments:
Please Log in or Create an account to join the conversation.
1) Regarding the BC40056 warnings: Not sure. Would have to have the project. It could be that you have a separate project where you copied over the Import-s but have not actually referenced the NuGet packages.
2) Regarding the IntellISense warnings: You have not provided the actual warning text. Since the editor is showing them in gray, it might be that those Import-s can be simply removed, because they are not used in that particular file.
3) I am glad that LooseReferenceTypes worked for you.
Regards
Please Log in or Create an account to join the conversation.
We have implemented the new version and this property:
LooseReferenceTypes = True
And it works as expected!
Thank you.
Michael
Please Log in or Create an account to join the conversation.
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.Extensions
Imports OpcLabs.EasyOpc.UA.OperationModel
Imports OpcLabs.EasyOpc.UA.AddressSpace.Standard
Imports OpcLabs.EasyOpc.UA.AddressSpace
Imports OpcLabs.EasyOpc.UA.Gds
Any idea why?
Thank you
Michael
Attachments:
Please Log in or Create an account to join the conversation.
Thank you!
I will try it. One question. I am getting these warnings. Do you know why?
Severity Code Description Project File Line Source Suppression State
Warning BC40056 Namespace or type specified in the Imports 'OpcLabs.EasyOpc.UA.Forms.Application' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. UCMECFG D:\MyBin\Proj-VS2017\UCME-OPC\Version 2024.0\UCME_CFG_NET\UCMECFG\UCMECFG\Form1.vb 10 IntelliSense Active
Warning BC40056 Namespace or type specified in the Imports 'OpcLabs.BaseLib.ComInterop' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. UCMECFG D:\MyBin\Proj-VS2017\UCME-OPC\Version 2024.0\UCME_CFG_NET\UCMECFG\UCMECFG\Module1.vb 11 IntelliSense Active
Warning BC40056 Namespace or type specified in the Imports 'OpcLabs.EasyOpc.DataAccess' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. UCMECFG D:\MyBin\Proj-VS2017\UCME-OPC\Version 2024.0\UCME_CFG_NET\UCMECFG\UCMECFG\Module1.vb 12 IntelliSense Active
Thank you.
Michael
Please Log in or Create an account to join the conversation.
Please upgrade to version 5.80.191 or later - NuGet packages are now on www.nuget.org, and installation program (probably not necessary in your case right now, if you are referencing the packages from www.nuget.org), on our Downloads page.
The UADataDialog now has an addition LooseReferenceTypes property. It defaults to False, which is the old and correct behavior. You can set it to True before running the dialog. In this case, it will browse with "wider" parameters, in order to cope with non-compliant servers.
Note that I do not have the Citect Plant SCADA server, not any other similarly misbehaving server, available. I therefore could not actually test whether/how the LooseReferenceTypes = True. Let's cross our fingers that it will do what you want.
best regards
Please Log in or Create an account to join the conversation.
A special setting will be great. I will only use it with Citect UA server. When can I expect this to be implemented?
Thank you.
Michael
Please Log in or Create an account to join the conversation.
To the first corrected link: The text under it says "The HasChild ReferenceType is an abstract ReferenceType; only subtypes of it can be used.". This proves my argument, and disproves theirs.
To the second corrected link: That is a long text, so not sure what they wanted to say by linking to it. It contains the above text, plus additional parts in support of my arguments, such as that HasComponent is the reference type used for DataVariables.
The fact that other clients show what you want has no significance. Those clients have a different purpose. They are designed to show everything. The browsing dialog you are using from QuickOPC to show *subset* of the address space. The subset is chosen as to show the nodes that can get you the actual data values. The fact that the server has chosen an incorrect (and, in fact, invalid) reference type breaks the OPC specification and therefore the QuickOPC cannot show the intended subset.
The problem with "showing everything" is that there can be millions of other references that you do not want to see. So if QuickOPC was to show everything, it would work in this case (with broken server), but will not work well in other cases, with servers that actually do work well. That is not something I can allow.
The solution would be to have a special setting that would allow you to specify that you explicitly want the broken behavior. Or, a new dialog for the same kind of browsing that other clients have. In both cases I would recommend against doing it, for the reason explained above.
Regards
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Discovery, Browsing, Browse Dialogs and Controls
- Browse Citect Plant SCADA doesn't show the items under the BrowseProvider folder