Configurable custom control of reference for NI VeriStand

I'm working on an application of VeriStand where I'm modeling more than 100 pieces of similar material, each demanding a set of controls and indicators on the VeriStand workspace. Because I have a few hundreds of orders and total indicators to configure VeriStand workspace, it was recommended to me that I should look at using reference varied Custom Control (http://zone.ni.com/devzone/cda/tut/p/id/11123), which is much more efficient to configure.

The main problem I have with varied Custom Control reference is that when it is configured on the workspace, the full channel path appears in the legend next to the indicator/control form. As I have a simulation model complex faily using several levels of submodules, the complete track path is very long (for example. ("Controller/Simulation models/models/CCH_v1_0_bad/Inports/Islington 220kV Bus EAD/CB668/host_close") and tend to clutter the workspace and also make the workspace very ugly looking (more space is used to display the text of the legend that occupied by buttons/lights).

Is there an easy way to remove traces of full path display, while allowing the user to verify the path full path required by say, right click on the object? Or at least it is possible to display one or two levels of the path of the canal, rather than the full path?

Thank you for your attention.

What do you think makes a lot of sense.  To do this, you will need to modify the source code of LabVIEW and recompile (build) the proposed model to screen with the right mouse button.  You need LabVIEW 2009 for this.

The text of the legend is set to 2 different places in the right-click main-model VI: Init control legends VI and VI of data update.  They are presented below:

You need to change both of these screws to do some string manipulation to cut parts of the path that you don't want until it is written in the Caption.Text property node.

I recommend creating a Subvi, which makes the string manipulation, in this way you can insert it just in the two screws you need to change.  Use a while loop that traverses the chain from the end forward, find the 11th ' / ' end, then only retains the final part and coming out of the slot - VI.

These two images highlight the places where you should put the Subvi said:

You will need to add your Subvi in the folder Source Code/sup screws, and then recompile the project (run the specification building called "Right-click"). Then put the Library.llb to control newly updated with the right button in the model display VeriStand folder, as you did initially. If you want instructions on how to proceed, see the video embedded in this page:

NEITHER VeriStand module-control custom Configurable reference

If you still want to help get started on this, let us know.

Tags: NI Products

Similar Questions

  • Custom control in the new VeriStand workspace

    Anyone know if it's possible and how to make the custom to the new UI controls? I have a custom device that creates channels 400 + and I would like to find a way to add them to the user interface without having to manually configure each channel individually.

    I have a way for the user to choose if each digital output is discreet, PWM or encoder mode. Currently, they have to drag into individual channels labeled 'Enable channels', 'Output Mode' and either 'Discrete Value,' 'PWM Duty Cycle' & 'Frequency PWM', or 'Encoder quarter' & 'encoder Index Control. " Is it possible to create a custom control that contains Boolean controls and digital necessary? I know that this was possible in the old VeriStand workspace, but I have not found a way to do in the new, as there does not appear to use a directory full of screws for its controls.

    Thank you

    Mitch

    Hi Mitch,

    I'm sure that this functionality does not yet exist for the Manager of the user interface, but I guess that NEITHER is likely to know that it is a widely used feature.

    When I asked him about this a few months ago, I think the answer is that it must continue to use the workspace controls customized with the workspace and migrate the rest of your features to the UI handler. Once the UI handler and the Worspace may operate at the same time in the same application VeriStand.

    Could you describe the feature you're looking for with screenshots?

    I hope this helps, but maybe someone of NOR can enlighten us more about it!

  • VeriStand custom controls

    I'm just starting to use the evaluation copy Veristand to see if it can do what I need it to do.  It seems very customizable, and I tried to create controls in the workspace personalized with Labview.  I would like to make things like radio buttons, lists and menus in the workspace to control my drop-down model.  I have tried everything just by taking one of the digital controls and its replacement by one of the controls mentioned previously, but it gave me an error message saying they were not supported.  It seems that I'd be able to do this using the free label template, but I'm not sure how to do this.  I was able to find an example of a custom indicator (min/max one), but could not find everything related to custom controls.  Are there examples or tutorials, that I could look at?  How could I go for some of these controls of Labview in things that I could use the Veristand workspace?

    -Eric

    Hello Junior, I have some answers for your problem.

    1. I have attached a zip file that contains your renamed control and build a project in it. You should be able to unpack, check the construction features and make sure that the output destination is C:\Documents and Settings\All Users\Documents\National Instruments\VeriStand\Display models. Trigger a build on that and you should get EricHettlerSample - Radio.vi and EricHettlerSampleControlSupport.llb in there. Once you have this launch a workspace, you will be able to drop the EricHettlerSample - Radio in the control list control.

    2. for the explanation. I think that when you perform a save as on the example of the min - max you download the Web of LabVIEW cross link on the screws that the llb with that of the vi.lib. Do a save as will not work. What works, it is that you create a project and setup a source distribution to generate the custom control. Here are the steps that I have take based on your attached file:

    1. Rename in windows Explorer, the attached digital indicator - radio.vi to EricHettlerSample - radio.vi
    2. Open LabVIEW convert the .llb you connected to a directory.
    3. Create a new project file.
    4. Radio.vi open EricHettlerSample - under my computer, when LabVIEW invites me to some VI I search in the directory to convert llb. Note that LabVIEW search more files under vi.lib because these are the files that NI VeriStand install labview directory.
    5. Once I added some of the screws, I mass compile the project.
    6. Create a source distribution. Add the EricHettlerSample - radio.vi. Go to setting source file main vi for the folder models and all otherwise go to a folder of llb.
    7. Trigger the build, LabVIEW will do a better job in creating an isolated component which is properly connected.

    In General, you always want to create a project to create a custom, control given that Save As not always worked with the LabVIEW VI link in NI VeriStand.

    To create a completely custom control project base what you do is:

    1. Copy C:\Documents and Settings\All Users\Documents\National Instruments\VeriStand\Display Templates\Decoration - free Label.vi in Explorer windows in a directory of your choice.
    2. Make a change of name on VI in Windows Explorer.
    3. Open LabVIEW to create new project add the renamed VI in my computer. This will create an empty project to customize the custom controls.

    I hope this helps, let me know if it still does not for you.

    Also if you still embarrassed by the error messages appears so you will want to clean directory C:\Documents and Settings\All Users\Documents\National Instruments\VeriStand\Screens this directory being where NEITHER VeriStand puts all the controls that you drop into the workspace cache. So if you have a control that cannot be loaded remove all screws in this directory should remove the wrong screws.

  • Upload of file for the Cloud - custom control - OPA

    Has anyone had an experience to implement a custom control in the clouds of the OPA in order to download attached files?

    From the documentation, it seems that you could just create an HTML form, using PHP for this serialize in a data source, and then add a reference to an attribute of the opa of session to link it to a record.

    Note: this would be with the RightNow CRM integration. The data source would be to the RightNow database. Although we could use RightNow do FileUpload from a process perspective, it would be more seemless for this in the OPA.

    Thank you

    You may find the answer next and associated useful examples: https://cx.rightnow.com/app/answers/detail/a_id/6183

  • Node property/reference for the image and 'Create VI' inconsistent control?

    Hello

    I encountered this problem several times already and although I have worked around him, so far, I would really like to understand what is it:

    If I have an image display control on the Panel before (IMAQ Vision, not the image control type) and drag a property node or a reference to it on the block diagram, it seems impossible to create a Subvi diagram if the selected objects are equipped with a knot of property image or an image reference. Select 'Create Subvi' won't do anything, don period. No warning, no beep system, no nothing.

    A related issue is that if I have a view control reference on the diagram and try to create a control from it (for example to use as a control on one dimension of connector VI entry), same thing, "Create control" will not do anything.

    Why is this?

    Thanks for your comments.

    X.

    Xavier,

    This was reported to R & D (35835) for further investigations. A possible workaround is to make the Subvi LabVIEW 7.1 and open it in the new version of LabVIEW.

  • How to create a custom control for a button where the look apply to everyone else but not the Boolean text?

    Hi all

    I would like to create a button custom as a master, so that if I change the look of the master all other buttons are changed.

    I did it with a custom control, such as a 'type strict def' otherwise the look will change , BUT if I do this as a strict type def I can't change the Boolean text more which should be different on each button.

    How to create a master control of a button where the look apply to everyone else but not the Boolean text?

    Steve Chandler wrote:

    I don't think that you can do. I just looked and as I suspected the Boolean property text is read only for strict typedefs, you cannot use the nodes property to change the text.

    As a just solution make it a typedef. When you want to change the open look the typedef and strict rendering, make your changes, then make no strict again. You will need to update the text Boolean yet once for all instances. Kind of pain. This is perhaps something for the exchange of ideas.

    Alternatively, remove Boolean text and replace with legend

  • How to turn RT FIFO on a shared variable for custom control

    I try to get my shared variables behave: update when I tell them of and only update once. It's the sort of 2 separate problems. Update only once should be fixed by activating RT FIFO on the shared variable. However, if you create a shared variable by using a custom control (because your data type is not available on the menu drop-down), allowing RT FIFO is not available. Why is this? Will there be an another GUARANTEED way to do this?

    Description of my goal: after having many problems with a large scale of my real-time program version, I started from scratch. My program is that the bases in order to send a signal to my goal of running on a few D/A channels, then return the data that I read A/D channels to ensure that the waveform has the same appearance. In addition, the program should be able to repeat this process without having to reboot.

    -Host is a state machine with: initialize - reset variable, check that the UI events - start target, target stop and end program, send data - to create 2 waveforms and send it to the target using the variable "data entry" (table 2D-double), data Get shared - read the entire waveform on the different channels after it ran using the shared variable "all data output" (table 2D-double) , Write to the file - (does nothing), stop - program ends.

    -Target is a loop with 2 States inside: false - target does nothing as he waits to be the host to say 'Start', True - target Gets the shared variable input data, runs on 2 D/A channels and reads the equivalent A/D channels to make sure the waveform actually ran as expected. This happens in a deterministic loop with a non-deterministic loop waiting for the command "Stop" on the host. After the written entry, the D/A signals stop and playback of signals/a. are placed in a 2D array and sent to the host via a variable shared, "all the output data".

    -J' tried to put "all the data output" in a while loop which must reiterate if he does not obtain data in the specified time-out period. I also removed the while loop but kept the specified time-out period. In both cases, data are collected twice!

    -Without specifying a time-out, the host never gets data updates "all output data" before he goes into another State.

    Summary: I need update they once when I asked to a my shared variables. I think that my program is about as simple as you can get, so I'm surprised to see why he is currently not completely reliable.

    (I have attached the vi host, target the vi and variable)

    Hi FireIce,

    To answer your questions:

    1 RT FIFOs are supported data types can be pre-allocated space. This is to keep the determinism on the RT system.

    2. reading of the variable in the loop and have the chart outside the while loop will only show the last value of the shared variable, showing actually only a single reading. Then if it works for you, it will give the same result.

    Looks like you have network buffering enabled on your shared variables. Is this true? Shared variables must always have a value, and so it will continue to contain old data to the new data is written to it. If you have buffering enabled network, new data can be added after the former, which actually look like you read the old data twice before getting the new.

  • Placing the control in a custom control file

    Hi all

    I'm new to LabView and have a simple question. I customize an example of LV for my purpose. There is a custom control used in the example file. I'm setting up a new (combobox) control and want to place this control in the file of custom control so that I can move on to various sub - vi for various purposes (e.g. initialization).

    Chart attached shows the ComboBox (Model DUT) on a front panel and custom control file (TestStand UI Data.ctl). My questions are the following:

    1. What are these symbols with the pink arrow (that is the button stop/restart, etc...) in the TestStand UI Data.ctl file? (see attached diagram). They are symbol of data type of references?

    2. How can I place my combobox was forced TO model in the file of custom control so that I can pass through the different slot control file - vi? I tried to do a right-click on the control and use create-> constant or reference, but they don't it has not changed the pink arrow symbol element.

    I hope someone can help solve my problems. Thanks in advance.

    Yours,

    Chati

    chati wrote:

    Hi all

    I'm new to LabView and have a simple question. I customize an example of LV for my purpose. There is a custom control used in the example file. I'm setting up a new (combobox) control and want to place this control in the file of custom control so that I can move on to various sub - vi for various purposes (e.g. initialization).

    Chart attached shows the ComboBox (Model DUT) on a front panel and custom control file (TestStand UI Data.ctl). My questions are the following:

    1. What are these symbols with the pink arrow (that is the button stop/restart, etc...) in the TestStand UI Data.ctl file? (see attached diagram). They are symbol of data type of references?

    2. How can I place my combobox was forced TO model in the file of custom control so that I can pass through the different slot control file - vi? I tried to do a right-click on the control and use create-> constant or reference, but they don't it has not changed the pink arrow symbol element.

    I hope someone can help solve my problems. Thanks in advance.

    Yours,

    Chati

    You do want to overwrite the "custom controls" that are part of LabVIEW.  However, you can create your own "custom" by a fall control, say, TestStand UI Data.ctl on your diagram, right click and choose Open Type Def (who opens the definition OR one you do want not change), make some additions or changes, then do a file/save under and save it in your project file with a custom name, that you make up.

    These pink arrow symbols are references - you can find them by looking in the Refnum palette.  I'm not sure what they are references to, however.

    As a suggestion, rather than send us just a picture with circled items, send the actual control so that we can watch and maybe tell you more details.

    Bob Schor

  • I'm still not sure how custom control and object-oriented programming interact, can someone enlighten me please?

    I spent some time trying to understand the relationship between the custom controls and object oriented programming. However, it is not quite clear to me yet.

    What I want to do:

    I want to have a custom control and hide its workings from the rest of the blockdiagram, so I don't have to wire for each similar object. Not only because I'm lazy , but also to keep the clean pattern and avoid mistakes.

    for example, a graph, a numerical factor and a button.

    When the button is pressed, the x scale must be changed according to the factor.

    So, this looks like a job for me to object-oriented programming. Once I created something that can do this, I can use it all through my program. The code that redraws the figure when you press the button as part of the object, so I can't connect extra wires and add a value change event when I add a new chart.

    Is this possible at all? I tried, but did not quite understand this time. I have to admit that I'm pretty new to OO programming and make custom controls. I use typedef clusters ' ed most my code so far, which works very well. But it's always a cluster of stupid, the only way to have nothing at all is in the block diagram in VI you use it in.

    The only thing I could come up with so far is to add an "event handler" Subvi who does and that he accepts a reference or a local variable to an object. Then, this sub - VI and the variable or reference can be put in parallel with the other stuff in the main loop of the program. But there must be a better way somewhere?

    I don't think I can solve this problem of definition of the objects of the Panel before custom and methods so that it can interact with the objects that it represents without help. I get the feeling that I must have missed it somewhere. The pointers will be appreciated.

    Thank you!

    Jacco.

    Jacco K wrote:

    What I want to do:

    I want to have a custom control and hide its workings from the rest of the blockdiagram, so I don't have to wire for each similar object. Not only because I'm lazy , but also to keep the clean pattern and avoid mistakes.

    ...

    The only thing I could come up with so far is to add an "event handler" Subvi who does and that he accepts a reference or a local variable to an object. Then, this sub - VI and the variable or reference can be put in parallel with the other stuff in the main loop of the program. But there must be a better way somewhere?

    Thank you!

    Jacco.

    Hi Jacco,

    These two things are exactly what are the Xcontrols, a basic VI with a façade that has an event structure (the façade VI).

    If you have any questions, I'm happy to guide you.

    Tone

  • Error 1445 what control do reference

    I try to use the vi located here in my own written in 2013 vi from LabVIEW. I receive the error 1445 as reported here. Do I really need to use a fixed string for that to work? Is there a different method. Some of my controls are clusters and I foresee a point to a tab separates data the user has entered the test data. The reason why I want to control references is to get the names of control and values so that I can apend to an Excel report.

    Any help appreciated.

    Problem with References.vi to Get command - they convert the name calling vi on the way. If it's a path, Open vi reference.vi load (trying to load) disk file. Given that the path is relative, calling must be next to get the References.vi of control. If you delete the path to the string before reference Open vi, it vi memory, not load path.

    Updated the Get control attached References.vi.

  • Not the custom control based on existing controls

    For my UI I need a directional Panel control 8, somewhat like a D - Pad or a digital arcade stick, as seen on the left side here:

    Or this:

    His output would ideally be an Enum, identifying the direction in which it is proposed:

    0: Center

    1: left

    2: right

    3: to the top

    4: bottom

    5: left upwards

    6: left down

    7: top right

    8: right down

    The order doesn't really matter. In fact, nor the data type as long as it works. He must also be able to respond to the keys on the keyboard for example the arrow keys.

    The problem I have is that I can't do this control. To the best of my knowledge, a control like this does not natively exist in LabVIEW. So I looked in the creation of custom controls, but all the resources that I found only show you how to take a control existing (for example a cursor) and change its appearance. Absolutely nothing about creating controls that behave differently than the default, the controls made NEITHER.

    I spent enough time looking for resources that I have to ask: is it still possible?

    Edit: I would reluctantly with a cluster with 4 Boolean controls, each corresponding to one of left, right, up, down. But then, can I do their people in charge of the graphics from the other? If not, can I at least prevent press left and right at the same time?

    Do some research on the XControls - they allow you to create custom with custom behaviors controls: http://www.ni.com/tutorial/3198/en/

  • Custom controls

    I don't know that it is very simplistic, for most users of LV.  Are there tutorials for creating custom controls?  I posted earlier and got answers to my questions, but his majority was simply do.  I didn't understand why.  I also found a great tutorial done by SimonH on customizing the gauge control in Labview.  But it was more a step by step instead of a why.  For example.  What is the difference between the ico 'clip' and the 'key' top-left?    When I save something like TYPEDEF, CONTROL or STRICT TYPE DEF?  In my original vi, I had a number of controls, I want to replace my newly created custom control w.  How can I do? replace >...?  I checked the auto "type def update" box on the custom control, but when I update the custom control is not updated in my appeal vi. National has done a great job when it comes to tutorials.  We might get a fact for custom controls?

    Thank you

    MarkDavid wrote:

    Eighteen of them I created on my front panel before I realized that I couldn't resize them in the sense of 'height '.

    You cannot resize the height of the digital indicator, the only way to change height by changing the size of the font of the indicator.

    So, what is the difference between the icon of tweezers and the key?  What is a type def def strict type and control in the menu drop-down?

    The difference between the icon of tweezers and key icon is that, the key icon is used to customize the shape of the indicator/control, change the color of change size, add images to the control, tweezers shows all components of the control which you can change the size, location, etc of these components.

    What is a type def def strict type and control in the menu drop-down?  How is my

    Control, type def and def of strict type types in which you can save your custom control, register, it controls and you used number of instances of that control these instances will have any relationship between them, and you can do something on each instance with affect others.

    The def Type, if you save your control as a type def and you took a few instances of this control and the automatic update of type def is enabled, any changes that you make to control window customize which will appear on other instances. However, in the definition of type, you can change some properties of the control without affecting other instances (e.g. color, font... etc)

    The def of strict type is identical to the type definition, except that you can change the properties of the control without opening the window customize. So for example if you want to change the color of the control, you need to right-click on the control and select open type def to go to the window to customize.

    How is my call vi is not updated when I update the custom control even though I have the auto update type def checked?

    I think that because you have registered your order as a "Witness" not unlike 'Type Def' or type strict def.

    How to replace the other 17 displays?  Can I put the control on my palette?

    You must save your custom type def or type control strict definition, so that if you change your custom control which will appear on the other 17.

    Hope this helps

  • Custom control with couple or the input voltage system

    Hello

    I'm relatively new to LabVIEW and this is the first time that I'll use for an application of movement. I have a controller/chassis cRIO-9074 with a few modules NI 9514 IO, servo motors and drives, and I'm trying to do is to use a custom control in my system (a sliding mode control law) to generate the signal for the movement of the engines. I was able to produce a movement OR softmotion but so far I've been able to produce with position, speed and acceleration as inputs and to optimize PID gains. What I want to do is to send commands to torque or tension from the entrance of my right to command control is torque for motors. What I was wondering is if it's possible with the components that I use now and if someone could direct me to useful articles or books that can help me.

    Sorry if is a noobie question but I only worked theoretically with systems of control far and I didn't simulate the results with matlab before that. It is the first time that I had to get the experimental results to validate my proposed control right. Thanks in advance.

    Hi,.

    This may be possible, but since sending the commands of torque or tension directly don't are not supported in scan mode, you can use your 9514 FPGA mode.

    This link describes the components needed to run the FPGA device.

    You should be able to find examples in the Finder for example NEITHER, but here is an overview of the use of FPGA that can be useful as well.

  • is it useful to make the custom control custom/indicator icons?

    I was doing custom icons (finally not very personal, but it is still at least somet ext) are for the controls and indicators, when I realized the only time where you see when you open the control itself, ot if you go over it in the project with the help on.

    So the question is:

    It is useful to create a custom for each custom control icon that you perform, if we see that very rarely?  (The exception being a cluster, since in later versions of LabVIEW, you can actually represent your cluster on the BD as the icon that you have done for her, so it IS definitely worth making an icon for it.)

    Thank you!

    You said correctly, very often (I won't say RARELY) we see the icons to a custom... control but I prefer to create icon for each custom control because it certainly adds value.
    I often use the VI hierarchy, context help window window and here a custom icon help.

  • Create a custom control fantasy

    I am trying to create a Custom Control fancy image processing of the meter of cells.  I want control which allows me to select the image of two types, fluorescent or DAB, and if I choose Fluorescent, will allow me to choose red, green or blue.

    I created two radio button controls, one for Fluorescent / DAB, one for RGB, which looks like this:

    I was hoping to "embed" the RGB control of the Type of Image control while having them retain their properties (box of dialogue elements 2 and 3 elements).  When I made the simple drag and drop of RGB on the Type of Image, he acted as if I added elements of a cluster, and I got a box of the 5 elements, not what I wanted.

    Then I'm smart and dragged Type of Image on top of RGB.  Of course, if the Type of Image is at the front, you see RGB.  However, if RGB is in front, see you both, but with ugly shadows around RGB (I made her invisible label).

    Anyone have an idea how I can have my cake and eat it, too?  Specifically, how can I get rid of the shadow that the RGB control throws on the Type of Image control?

    Here are the controls themselves, as the excerpts:

    Bob Schor

    How about as a red box Fluorescent, Green Fluorescent, Fluorescent blue and DAB?

    Lynn

Maybe you are looking for