list method issue

Anonymous
2013-05-09
2013-05-30

  • Anonymous
    2013-05-09

    I have an opc project where i have a group of tags in a parent folder and then a subfolder.  When i use the list() method,
    it only list the tags in the sub folder and not the parent folder.  Is this a bug in the program, or is there another way or method
    to list all the tags in the parent folder as well as the sub folder

     
  • tags shouldn't be in folders.  they should be leaves on branches - which function like nodes, not a traditional folder structure.  i realize that you may simply be using the 'folder / file' analogy to describe the 'branch / leaf' scenario - but you must realize that this is the manner in which opc in general functions… it's a node topology, not a folder / file topology.

     

  • Anonymous
    2013-05-09

    unfortunately I can't change the way tags have been defined. However, just to better understand, are you saying that the list method returns only the outer most leafs? In other words if i have a node with leafs and a sub node (with some leafs as well) the list method will show only the the leafs in the sub node.
    Hopefully  I'm not making to complicate.

    Thanks in advance

     
  • i do believe that is the typical behavior.  it depends on what the opc server is actually holding as an addressable level item.

    let's say you have a controller with a bit register… B3. 

    in that bit register are 10 full data words (16 points each)… the full words look like B3:0  through  B3:9

    inside each word are 16 data bits… the addressable items are now B3:0/0, B3:0/1, B3:0/2… up to B3:0/15 - all the way through B3:9/15

    these lower level bits are what the controller intends for the typical programmer to address or use.  however, provided you're competent there is no reason why you can't address a whole set of 16 by simply using B3:5 (for example), and addressing at the word level.  but just because you can do it in the controller's software does not mean that the controller will present it as a "ready to enjoy" listed item. 

    likely, you'll just get the outermost leafs.

    for floating point (real) numbers, this obviously would have no where to drill down to… but i think you get the idea.

    don't rely too much upon 'list' function - any data node or leaf that you can address in the controller software can be addressed via opc (usually).  so i would just give a try at reading or writing what it is you intend to send or pull from your controller, and see what the actual result is without trusting 'list' too much.

     

  • Anonymous
    2013-05-10

    Both reading and writing work good regardless the "position" of the tag.

    Thanks a lot for the advice

    Agostino

     
  • no problem.  i'm glad you got it working!