Professional OPC
Development Tools

logos

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.

Browse a specific MBUS Host

More
04 Mar 2011 13:23 #313 by support
This cannot be answered without having the information about the device (first), and information about how the OPC Server present it through OPC, (second). QuickOPC only consumes what is in the OPC server
Good method for transferring such data may be OPC-HDA (Historical Data Access); however QuickOPC currently does not support it, and PiiGAB OPC server neither.
Sometimes, an alternative method is used to transfer such data. For example, some electricity meters store load profile data as series of event records, and this can be transferred as an array. Such array can be communicated through OPC-DA (Data Access) and then processed by the application.
All of the above is however purely for illustration - with a concrete device and server to connect to, one needs to figure what they support and how they do it.

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

More
04 Mar 2011 08:47 #311 by immerse
Oh. It depends on the device, you say. If the device are storing values. How do QuickOPC read that back to client?

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

More
04 Mar 2011 08:45 #310 by support
You are most likely right, however it may depend on the specific device.

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

More
04 Mar 2011 08:40 #309 by immerse
Thank's. That okey, I was figured out that part already, however i think that code snippet will be of use for public.
Well, that was the discovery of the mbus-network. The small part (in whole) :). The storage of values into series! This sort of network appears to have no storage for historical values, am I right? Which means that a value has to be explicity readed by a client, at the declared time/interval. In all other circumstances, the value for that time is lost.

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

More
03 Mar 2011 16:41 #308 by support
Yes, BrowseLeaves can be used; BrowseNodes is a generalized function that combines the functionality of BrowseLeaves and BrowseBranches.
I have created the example you might have been looking for: It is in "Knowledge Base", under QON-KB-4. How to browse OPC address space in C#, and read the items found. If you download the Bonus Pack from this site again now, you will find that this example is included too.
Let me know if you need anything more.
Best regards

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

More
03 Mar 2011 11:17 #305 by immerse
OPC Labs Technical Support wrote:
It looks like that you are using PiiGAB MBus OPC server and IP convertors; questions about those products should be directed to PiiGAB. There is partnership between OPC Labs and PiiGAB in the sense that we have been instrumental to PiiGAB in developing their MBus OPC Server, and PiiGAB uses and bundles the QuickOPC functionality with their products.
Oh yes, you said already :). This is perfectly clear to me, though my work is on .net.


Oh my god..
BrowseLeaves = the tags / measure info..
Helped a lot, a hint to everybody to create a flow-map of each softwares dependency, from start :-).


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

More
03 Mar 2011 10:08 #304 by support
We (OPC Labs) sell (among others) a product caled QuickOPC, which is a tool/component for developers to easily integrate OPC client functionality into applications. The component is server-agnostic: It can connect to any OPC Data Access server. We do not sell or produce any MBus equipment, MBus/IP convertors, or MBus OPC Server. It looks like that you are using PiiGAB MBus OPC server and IP convertors; questions about those products should be directed to PiiGAB.
There is partnership between OPC Labs and PiiGAB in the sense that we have been instrumental to PiiGAB in developing their MBus OPC Server, and PiiGAB uses and bundles the QuickOPC functionality with their products.
Re

as I can see (and pointed out), it refering to the dll files when open the browse-items folder. Please correct me if I'm wrong!

private OpcLabs.EasyOpc.DataAccess.Forms.OpcDAItemDialog opcDAItemDialog1;

If what you mean is that the code that provides the user interface (form) for browsing the items is in a compiled assembly with no source code provided, then you are right - this assembly is part of the QuickOPC product itself, which is not provided with its source code. The code inside the form, however, uses no secret - it is based on the BrowseNodes method that is documented (see e.g. www.opclabs.com/onlinedocs/Qui... or www.opclabs.com/onlinedocs/Qui...) and you have successfully tried before. I will prepare some example in C# which illustrates with some more detail how the browsing can be done from your code. Please allow a little time before I have it ready for you.
Best regards

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

More
03 Mar 2011 07:17 #303 by immerse

OPC Labs Technical Support wrote:

When you install the Bonus pack, you get the source code of the Demo application: It is under Examples\CSharp\VS2010\WindowsForms\EasyOpcDANetDemo1 subfolder (or VS2008 instead of VS2010, or VBNET instead of CSharp).

Thank's. That was what I thought and I also checked the most of the bonus pack codes. But it, as I can see (and pointed out), it refering to the dll files when open the browse-items folder. Please correct me if I'm wrong!

private OpcLabs.EasyOpc.DataAccess.Forms.OpcDAItemDialog opcDAItemDialog1;


OPC Labs Technical Support wrote:


Let me know if the part that is giving you poblems is finding how to identify the information in the server (browsing for ItemIDs), or obtaining the information from the server (reading), and I can then help you further.

I'm afraid I need help with that part. At least find the items beneath each device. If Thank's in advanced. I will also state that all existing samples, forum threads and other information I found, are forseen that the items are already known and manually typed into ReadItem methods.
Regarding PiiGAB, as I understand their role in this, is hardware (mbus) and thier own developed OPC-server version & and a interface? This has very little or nothing to do with .NET (Quick OPC) and the mbus-functionality itself? I start to understand why this looked so confusing from beginning..

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

More
03 Mar 2011 05:04 #302 by support
[below is a restored post from <span style="font-size: 10pt; color: #403f3f; font-family: "Tahoma","sans-serif"; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">3/2/2011 10:45:05 AM, out of sequence]
Ok.. now I seem to go a little step further!
Dictionary<string, DANodeElement> nodes;
DANodeFilter daf = new DANodeFilter()
{
BrowseFilter = DABrowseFilter.All,
AccessRightsFilter = DAAccessRights.Both,
DataTypeFilter = VarType.Empty,
ElementNameFilter = "",
VendorFilter = ""
};

EasyDAClient clt = new EasyDAClient();
ServerDescriptor sd = new ServerDescriptor("","PiiGAB.MBus.2");

Dictionary<string, DANodeElement> srv = clt.BrowseBranches(sd);

foreach (DANodeElement elm in srv.Values)
{
//Branches
Console.WriteLine("{0} = {1}", elm.Name, elm.ItemId);

if (elm.HasChildren)
{
//Nodes
nodes = clt.BrowseNodes(sd, elm.ItemId, daf); Console.WriteLine("\nLeafs ({0})", nodes.Count());
foreach (DANodeElement elm2 in nodes.Values)
Console.WriteLine("{0} = {1}, elm2.Name, elm2.ItemId);
}
}
<span style="font-size: 12pt; font-family: "Times New Roman","serif"; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">However this was just about time :). There are still some interesting questions in my last post, that does not relate to this success.

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

More
03 Mar 2011 05:02 #301 by support

Oh, i edited the post, because I got further on and the questions was obsolete (why keep them).

The purpose of this forum is to help others as well. The fact that the post contains something that has been resolved is the very reason for keeping it, not for removing it. I will put back the part that I can restore.
Now to your new post:
The demo application code is actually pretty straightforward. If by "hided inside compilations" you mean that you do not have the source code, then I just need to point it to the right place. In the core product, the Demo application is just in binary. When you install the Bonus pack, you get the source code of the Demo application: It is under Examples\CSharp\VS2010\WindowsForms\EasyOpcDANetDemo1 subfolder (or VS2008 instead of VS2010, or VBNET instead of CSharp). Let me know if the part that is giving you poblems is finding how to identify the information in the server (browsing for ItemIDs), or obtaining the information from the server (reading), and I can then help you further.
Yes, you might say that the OPC server creates "aliases" to data items in the device(s). The precise way this is done is server-specific; there might be a CSV file for the PiiGAB MBus OPC Server that defines the server's "address space" in part or as a whole. For specifics about this, I suggest that you contact PiiGAB (I can facilitate that for you if you ask me to).
Best regards,
Zbynek Zahradnik

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

Moderators: support
Time to create page: 0.057 seconds