Using control refnums in srtict typedef cluster

I'm having a small problem using control refnums. I've not used them much so this could just be me doing something wrong!
I'm building an application with a GUI which will need updating with data from within various subVIs and a couple of parallel loops. So, what I wanted to do was "build" a strict typedef cluster of references to the front panel objects I want to update, then I can pass this cluster to any subvi or structure which may need to update a FP object. So far so good...
The problem:
On my main GUI I have a strict typedef'd tab control, which I want to be able to reference. When I build my cluster of refnum's I duly create one for this typedef'd tab control. The problem is, if I modify the tab control in anyway, the cluster of refnum's breaks.
Anyone tell me why this is happening?
I've attached an example VI I created which shows the problem. Basically, open the typedef to the tab control and change anything, you'll see the cluster of refnums break... you can see a video of it here:  Video
Any thoughts would be gratefully appreciated!
Thanks
Paul
Attachments:
refnums.zip ‏15 KB

Hai,
Just went through the post
The strict typd controls automatically gets updated when the parent control changes.  But the refnums that are created out of the strictly typed controls needs manual updation coz there is no linkage between refnum that was created and the strict type control.
You just create a strict type refnum that carries the properties of a strict type control and in no way a linkage exists between these two.  Hopefully if there is an option to link the refnum and control with "Update from typedef" will solve the problems
With regards,
JK
(Certified LabVIEW Developer)
Give Kudos for Good Answers, and Mark it a solution if your problem is solved.

Similar Messages

  • Control refnum for a typedef

    I have a typedef on a VI front panel and I would like to programmatically resave it to a new path/name.
    with a VI I would open a reference to the VI and use the method "Save.Instrument" save a copy: true, and input a path.
    What I have tried was to open a reference to the VI that uses the typedef, got a property node reference to it's panel,  then a property of array of control references - but generally controls can't be 'saved-as' but a typedef could - only there is no method for this.
    Is there a way to do this? 
    Lawrence M. David Jr.
    Certified LabVIEW Architect
    cell: 516.819.9711
    http://www.aleconsultants.com
    [email protected]
    Solved!
    Go to Solution.
    Attachments:
    saveCtlAs.JPG ‏63 KB

    The control class has a property called TypedefVI which returns a reference to the VI of the typedef which you can then save. The only catch is that this method seems to be a scripting method, so you will need to install scripting first.
    Another alternative, if you don't want to use scripting stuff, is to use the Callees property on the VI. This will return the names of all the typedefs it uses (which you can then use with the Open VI Reference primitive), but you should note that this doesn't give you a way of associating a specific control with a specific typedef.
    Try to take over the world!

  • Is there a way to save data accessed through Control Refnum?

    Hi,
    I am controlling 4 instruments, each from its own VI. (LabVIEW 7.1)  I have built a seperate VI which calls all the instrument VIs as subVIs and displays all the readings.  I would like to save the data I am displaying in the main VI.  In the subVIs, I use loops to continuously read data, so I use Control Refnums in the main program to access and display the changing readings.  Is there a way for me to save the data from the Control Refnums in my main VI, preferably all in the same file?
    Thanks!
    Jessica

    Mike,
    Thanks for replying so quickly.  I've attached a screenshot of my block diagram. 
    I've worked on it a little more since my post, and now the data is being saved, but it doesn't make sense.  I am saving it as a .lvm file and opening it in Excel.  I'm new to LabVIEW, so I may simply be struggling with the syntax and logic.  From my experience coding, it makes sense to have the data stored inside the while loop.  However, in this program, it seems that the data doesn't start saving until after I've stopped the subVIs. 
    Attachments:
    screenshot of Control.doc ‏72 KB

  • Creating a type defined control refnum cluster?

    Hello -
    Is it possible to create control refnums for front panel objects and make a type defined cluster out of them?  I don't seem to be having any luck, but I could swear I've seen it done before.
    I am trying to pass a cluster of control references into sub-vis that will be called dynamically (using call by reference).  I want to create a standard cluster for use in all of the sub-vi's without having to go back and edit the cluster in every VI if anything is changed or added.
    If not, is there a better way?
    Thanks,
    Mike
    Solved!
    Go to Solution.

    Once I created that type def (look at my Mini Nugget to see how I did that) the type def was used as shown below to update control from a sub-VI.
    I had an app with hundereds of controls and indicators that needed updated.
    So I bundled refes for all of the control into logical groups.
    Then passed these refs to the sub-VI
    And the sub-VI used those named refs to do the updates.
    I hope that help,
    Ben
    Message Edited by Ben on 03-25-2009 10:41 AM
    Message Edited by Ben on 03-25-2009 10:43 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    FP.PNG ‏88 KB
    Bundle_refs.PNG ‏92 KB
    Pass_to_SubVI.PNG ‏82 KB

  • Why can't I create property nodes for item in STRICT typedef cluster?

    I've tried this in LV7.0/WIN2k and LV 7.1/OSX - both versions work the same.
    I have a TYPEDEF consisting of a cluster of items A, B, and C.
    I have a front-panel instance of this typedef.
    Under certain conditions, I want to disable and gray Item C, because it's not applicable.
    So I need a property node connected to item C.
    If the typedef is STRICT, then I cannot create such a property node - the menu item to create anything is just not there.
    If I change to NON-STRICT, then I can create the property node.
    I can change it back to STRICT, and the property node works just fine.
    The question is, if the nodes WORK normally, why can I not CREATE one?
    If there's some sense behind this, someone please point it out to me...
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

    I agree with you, It would be nice to be able to keep the non strict typedef auto-update and extend it to properities which effect the look of a control. I am not sure why you can change the properities on a strict typedef. A strict typedef should have private properities (can only be changed from within the definition and no public other vi scope for writing these values. I have in the past used a custom control for presentation purposes and contained the structure of the data to be displayed within the typedef cluster. This is not all that automatic since we need vi's to convert between the definition and control. Seperating data structure from presentation is much like XML where the file only contains data structure and a reference to a style for presentation. It would be a very nice option to allow nonstrict typedefs to have an additional auto-update properities which could be toggled on and off. I would be curious to here others opinions on how to keep data structure and presentation consistant across an application without being tied down to a strict typedef (allowing the optional change of teh presentation at runtime).
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • LabVIEW 8.2 control refnum type descriptor missing

    In LabVIEW 7.1, the control refnum had a type descriptor property, I do not see it in LabVIEW 8.2.1?  How do you get the type descriptor from a control refnum in LabVIEW 8.2.1?
    Respectfully,
    Robert

    Matthew Kelton wrote:
    The problem I have is that I have a generic control reference, so I don't know the type.  That is why I was using the descriptor to determine the type to properly use variant to data on the Value Property.  As it stands now, 8.5 still supports the Type Descriptor if it exists in VI I upgrade, but how long before it disappears?  I use this in a generic VI that is used in every project I do, saving me hours per project.
    The least NI could have done was just name is TypeDescr16 and TypeDescr32 or something.
    TypeDescr32 is NOT exposed and on purpose too so there can't be such a property. And yes there is a chance that the old TypeDesc property disappears at some point. However it won't be tomorrow. The 4.x compatibility mode for the Typecast function (necessary for the boolean size change from 4.x to 5.x) is still there but for the Flatten/Unflatten it had to make place for the 7.x compatibility flag. And it might disappear with LabVIEW 9.x since as I have found out today, LabVIEW 8.5 is the first version that refuses to load 4.x VIs directly.
    So the TypeDesc property will probably work until around LabVIEW 12.x when it will cease to support loading LabVIEW 7.x VIs. (Note, this prediction is just a very wild guess and should be taken with a big grain of salt).
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Question about Grid Control Agents on a Veritas Cluster (or any cluster)

    Hi, I'm seeking advice on how to setup Grid Control agents on a Veritas Cluster.
    My cluster is made up of two Sun M4000 servers running Solaris 10 x64 (node1 and node2), and 8 virtual hosts setup to fail between the nodes. Each of these virtual hosts has several mount points from a SAN, and contain Oracle 9 and 10 homes as well as databases. The versions are 9.2.0.8 and 10.2.0.3.
    I have a full grid control agent install on each node to mount points that don't fail over to the other nodes. These agents monitor the nodes themselves.
    Now for my question, is it better to do full intalls of the grid agent in each virtual host or to use the "emctl deploy agent" from the full installs already on node1 and node2 to the virtual hosts? Or is there some other, better way to do this.
    Either method results in 9 grid control agents on a node if all the virtual hosts are on that box. I've experimented with both agent deploys and installs a bit and found that the cpu usage goes though the roof with that many agents on one server. Maybe I don't have them configured correctly, but every now and then they spike cpu usage to 100%, and these servers have 8, dual core processors in them with 32GB of RAM.
    Thanks for any tips!
    Currently, my setup looks something like this, if it helps:
    ORANODE1...........................................ORANODE2
    user: oracle..........................................user: oracle
    full agent install....................................full agent install
    VirtualHost1
    user: ora_user1
    Oracle 10G Home
    repository database
    OMS install
    full agent install
    VirtualHost2
    user: ora_user2
    Oracle 9i Home
    production database
    full agent install
    VirtualHost3
    user: ora_user3
    Oracle 9i Home
    production database
    full agent install
    VirtualHost4
    user: ora_user4
    Oracle10g Home
    production database
    full agent install
    VirtualHost5
    user: ora_user5
    Oracle10g Home
    production database
    full agent install
    VirtualHost6
    user ora_user6
    Oracle10G Home
    production database
    full agent install
    VirtualHost7
    user: ora_user7
    Oracle10G Home
    production database
    full agent install
    VirtualHost8
    User: ora_user8
    Oracle10G Home
    production database
    full agent install

    Will the agent 10.2.0.3 work with Grid Control 10.2.0.1
    Yes.

  • How do I apply properties to a control refnum from another VI and whose type I know?

    Hi,
    I have programmatically retrieved the Control refnum of a Table running on a separate VI. I search for its name and when match ocurrs I would like to use its control refnum to change som cell values in it by either the Invoke node or Property node. Nevertheless even though I know it is a Table I am not allowed to wire the control refnum to a property node with "Active cell", "BG color" et.c. I am not either allowed to wire it to an Invoke node with the method "Set Cell Value".
    Is there a work around for this?
    Solved!
    Go to Solution.

    Well, i assume that Santhosh solution works too (i hope he tested it before ). So no mistake here. Still, if you like, you can take the "solution" flag back from a post and redistribute it....
    Norbert 
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How do get an indicator to appear when using control references

    Hi, can anyone help with the following?
    I've just managed to resolve the problem of getting indicators of a sub VI to appear on the front panel of my main VI and remain active. This was done by using control references. Basically, I created a reference for the control on the front panel of the main VI. I then dragged the reference in the block diagram of the main VI to the front panel of the subVI to obtain a Control Refnum. Then in the block diagram of the subVI I created a property node and linked the indicator and control refnum to it. Then I wired the subVI's connector pane to the control refnums in the subVi front panel. Finally, I copied the subVI icon into the mainVI block diagram
    and wired the references to the relevent renum terminals of the subVI connector pane. However, I'm still having a problem with one of the indicators, which I've called 'time limit reached?'. When the VI has reached the end of the run this indicator in the subVI changes from the word 'No' (surrounded by a red box) to 'Yes' (surrounded by a green box). In the sub VI this was done by using a comparison function and linking the visible property node to the 'time limit reached?' true/false boolean. I would like the same to happen on the front panel of my main VI. In this case where should I put my property node and control refnum? I'm unable to link a control refnum to the current visible property node. When I create a visible property node which can be joined to a control refnum then I don't have the option to link it to the true/false boolean. Any suggestions? I have written a small VI which demonstrates the problem if need be.
    Thanks, Adrian
    [email protected]

    I would suggest to use a customized boolean instead of making it visible/invisible, just take a boolean, change boolean text from TRUE/FALSE to YES/NO and change also diferent cases colors, this way, you don't need to play with property nodes. If this can't be done for any reason, using a local / global variable is the only solution that comes to my mind.
    Hope this helps

  • Control refnum

    what are control refnum, applications and advantages. is there any tutorial on control refnum.

    A contol's refnum allows you to have access to the control from anywhere you want - another loop, another VI, even another computer.
    The advantage of using programmatic control is when you want to manipulate your UI, control things remotely or control things dynamically. The main disadvantages are a performance hit which comes from using property nodes and the breaking of the dataflow. Using property nodes to change the values of control remotely can be very hard to debug, because unlike local or global variables, you have no way of searching for it. 
    You can start by reading chapter 17 of the LV user manual (Help>>Search the LabVIEW Bookshelf) and by having a look at this tutorial about class hierarchies in LV.
    Try to take over the world!

  • In alv report can i use control break events? if no .whay?

    Hi all,
    in alv report can i use control break events? if no .whay?

    hi,
    you can use control break statements in ALV report.
    for example: if one PO is having more than one line item, that time you need to display PO only once.

  • Can we use control events in smartforms

    Hi all,
    I am srinivas. can we use control events in smartforms, I mean at new, at end of ..... if these are not used can you suggest me any alternative....
    Actually my requirement is like a classical report, for which I need to display subtotal and grand totals based on two fields....
    Please help me out in this issue as it is very urgent.
    <b><REMOVED BY MODERATOR></b>
    Thanks in advance....
    Regards,
    Sri...
    Message was edited by:
            Alvaro Tejada Galindo

    Hi Nick,
            Thanks for the reply... it is really very useful for me.
    As I discussed in my earlier mail regarding the output sequence, which should be in the below format.
                                           number       quantity uom      unitprice        amount curr
    plant
           material
                   date
                                             x                 y                    z                      A           
                                             e                 f                     g                      h
                                             p                 q                     r                      s
                   subtotal date..... 1                   2                    3                       4
                   subtotal  material.5                  6                    7                       8
    As you said when I using <b>event of Begin</b> its working fine. but while using the <b>event of end</b>,  I am specifying date and then matnr (sort) its taking(nodes are created mean first matnr and then date) in the reverse order and when I am taking matnr and date it is placing the events(nodes) in the right order but the order date is not triggering.
    can please tell me how to proceed here..
    waiting for your reply..
    Regards,
    Srinivas

  • What happen if i use controll break statement in between select & endselect

    Hi all,
    what happen if i use controll break statement in between select & endselect ?
    Thanks in Advance
    KR

    Hi for reference u can go through this code example
    data:
      fs_tab like sflight.
      data:
       t_tab like standard table of fs_tab.
       select * from sflight into table t_tab.
       loop at t_tab into fs_tab.
         write: / fs_tab-carrid.
       endloop.
       refresh t_tab.
       clear fs_tab.
       select * from sflight into fs_tab.
         at new fs_tab-carrid.
           append fs_tab to t_tab.
         endat.
       endselect.

  • Smartforms, how to use control break events

    Please help with this requirement.
    Purchase Docu No.111
    Pur Item No       Mat no       Quantity 
    1                        2356      2000
    2                     1256      2000
    3                     8556      2000
    Purchase Docu No.112
    Pur Item No    Mat no    Quantity 
    1                      9656      2000
    2                      7356      2000
    3                      1356      2000
    Purchase Docu No.113
    Pur Item No    Mat no    Quantity 
    1                      5356      2000
    2                      8356      2000
    This i have to design for the smartform.
    1 header data then its item data.
    like is Script i can call the WIndow elements using control break events in the driver prog but how to get this kind of output in Smartforms.???????
    Thanks

    I dont want trigger new page.
    In the same page i want like this
    I have purchase docu data in only 1 internal table.
    So, for every new VBELN, under this i want its corresponding item details.
    I have created the command node for the main window with 2 rows, in the 1st row i am giving VBELN and in the 2nd row i am giving in item details like item no, matnr etc etc and in the condition its askng Field name and Comparison Value.
    How shold i give condition.??????
    Thanks
    Edited by: Jalaaluddin Syed on May 1, 2008 5:03 PM

  • Key code 24 using control down - no longer works in 10.6

    I have a script that should open a dialog box to make a picture using Copernicus. the command I try to invoke is 'Control ='.
    here is the script.
    tell application "Copernicus"
    activate
    delay 2
    tell application "System Events"
    key code 24 using control down
    end tell
    end tell
    or alternative I tried:
    tell application "Copernicus"
    activate
    delay 2
    tell application "System Events" to keystroke "=" using control down
    delay 5
    end tell
    However both do not work, it does do nothing on - key code 24 using control down -.
    If I do a manual 'Control =' it works regardless if the Application is active or in the background.
    Has anything changed in 10.6 that this sort of code no longer works? How do I set it up for this to work?
    Message was edited by: ChangeAgent

    Pierre L. wrote:
    I have downloaded Copernicus 1.5.2 (Build 15) just to better understand the issue.
    is what I use.
    However, I am unable to find any “Control =” keyboard shortcut in any menu of that application. Does that shortcut belong to Copernicus, or is it a shortcut that you have added yourself in the Keyboard pane of the System Preferences?
    I added it replacing 'F7' for various reasons. however “Control =” works if I do it via the keyboard.
    As for me, after assigning a “Control =” keyboard shortcut to a TextEdit menu command, I have no problem invoking it from the following script.
    *tell application "TextEdit" to activate*
    *tell application "System Events"*
    *key code 24 using control down*
    *end tell*
    OK. as said it works using the keyboard, but not via the script. could it have something to do with Copernicus? I simply do not understand as to why it does not work using a script.

Maybe you are looking for