Draw to User Interface in LabVIEW
Hello,
I would like to ask you what Control should I use if want to create a UserInterface like in VBAI State and Transition Editor:
or in StarSim:
Thank you for your help,
Machine Vision Techniques & LabVIEW Solutions - The solution is Yours!
mvTech wrote:
Hello,
I would like to ask you what Control should I use if want to create a UserInterface like in VBAI State and Transition Editor:
or in StarSim:
Thank you for your help,
Looks like tree control on the left, picture control on the right. You'll have to customize buttons to get the effect of toolbar buttons, that are flat, but pop out when you over. You do this by customizing the system control buttons. I think that covers everything you see there.
CLA, LabVIEW Versions 2010-2013
Similar Messages
-
Teststand Simple User Interface in LabVIEW
Hello Community,
I am designing a user interface for Teststand by using the simple example vi provided. The name of the file is Top-Level VI.vi
I am trying to understand how the vi works inorder to make changes and ran into a few questions that I was hoping someone could answer for me please.
To start I add my sequence file and click "Test UUTs". Then a dialog box pops up asking to enter the serial number of the UUT, where and what causes that to happen in the code? After I enter my serial number it runs my sequence code and at the end another message box appears specifing in a green or red whether the UUT passed or failed. Where and what causes the Pass/Fail Boxes to happen in the code?
Thank you
Kevin
Solved!
Go to Solution.The S/N dialog is part of the process model.
For the Sequential Model (SequentialModel.seq), the default S/N dialog in found in the 'PreUUT' sub-sequence and implemented as a DLL call.
The PreUUT sub-sequence of the SequentialModel is a callback, so you can override it in your own test sequence.
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness -
Accessing TS Watch view window in LabVIEW user interface?
HI All
I am trying to build TS user interface in LabVIEW. I want to give ability to user to debug sequence while running.(ability to put breakpoint and view the value of variables in watch view window).
Can we access TS watch view window in LabVIEW .I did not find any activex control for it.
If not how can you give user ability to debug sequence?
Does anyone have idea about this?hi
I have tried using that.Call stack gives you option to view current execution from the list of executions.(Call stack in TS basically).
It does not give you watch view interface .
Basically I want user to give option to debug sequence . So on the execution view control he should be able to put breakpoint and then once execution reaches breakpoint , he should be able tov view variables values by adding them in watch view pane.
any ideas how to do this? -
Dear all
i am trying to build a graphical user interface using labview 7.1 but i am new to it and finding difficulties.
my first window should contain two push buttons A and B(like ac machine, dc machine) when a user click on any of this button
the next window should show another push buttons C and D,and this button should link to some VIs which should start running by clicking any of those two buttons
Thanks in advance to anybody who can helpThis is a very general question, but as a general answer, different screen are commonly handled by using different pages on a tab control and programmatically switching between them (you hide the tabs themselves) or by using different VIs. Monitoring for user interaction is done by using an event structure which will allow you to execute code when a button has been pressed. There are quite a few examples in the example finder (Help>>Find Examples) and some templates (File>>New) for how to do this.
To learn more about LabVIEW, I suggest you try searching this site and google for LabVIEW tutorials. Here, here and here are a few you can start with and here are some tutorial videos. You can also contact your local NI office and join one of their courses.
In addition, I suggest you read the LabVIEW style guide and the LabVIEW user manual (Help>>Search the LabVIEW Bookshelf).
Try to take over the world! -
anybody can help me to I find a list of industrial hardware (panels etc, no PC) which I could use to create a user interface in LabView?
It would have to be "rough" but not too expensive. Regula PDA would not be ok
Thanks
NicolaTry looking at IVC and Suetron. I haven't tried any of them.
Try to take over the world! -
How to get the value of the global variable of test stand in labview User interface?
Hi.
Can anyone Please share examples and tell me to how access the test stand global variable using labview user interface.
Solved!
Go to Solution.I'm not surprised that what you are doing doesn't work. The Start Execution UI Message is triggered when the user clicks a button to start an execution. Realize that most executions go through a process model. So you could be looking at the sequence context of the process model and not your client sequence file.
I recommend reading that link I posted above. UI Messages are your best bet but you cannot just piggy back on an existing UI Message like this. They may not be getting sent at the time you need them to be. The only way to ensure you get what you want is to trigger one yourself at the right time.
Regards,
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~ -
Reading the output values after each step executes in LabVIEW User Interface
Hello all,
Development environment: TestStand 2010 SP1 and LabVIEW 2010 SP1
Problem: is there a way to execute the subsequent steps programatically and get the output values from each of them?
I have already extended a little bit a Full OI interface for TestStand to load up any sequence, choose some of the steps and run them step by step (something like option to Run Selected steps). What I am trying to do is to add some actions between each step and do that in User Interface (I can't modify the sequence!), so I am starting the NewExecution with some previously configured InteractiveArgsParam and set an option breakAtFirstStep to True. Afterwards I am just doing something like Step Over when debugging the sequence and this works good, but I didn't fine a way yet to read the output values from the steps...
Then, if I wait until the execution finishes I can read my Results by processing the ResultObject, but this works only after finalizing of the test sequence. Since I wanted to stop after each step, read the values, do some actions and continue to the next step I tried to register an event callback for Trace of Execution View Manager. I can see that after each executed step this event is triggered, but when I try to read a ResultObject returned in Event Data it is not filled with values (ResultList seems to be empty?). Is it a proper behaviour or maybe I am doing the readout in wrong way? (It is the same VI as for reading ResultObjects after sequence finishes and there it works fine for arrays, containers and other data types).
Like I mentioned I can't modify the Test sequences, I can't add a UImessages.
What are my options? Should the trace event returns all output values from each steps or is it just used for status checking? Or maybe there is completely different approach to that matter?
Thanks in advance for any suggestions,
Best Regards.
CLA, CTD, CLED @ Test & Measurements Solutions Poland
Solved!
Go to Solution.Thanks for your replay, I have tried to build it in my LabView Block Diagramm, es seems like this image.
But the variable GetNumSubProperties ist always 0. Why?
PS: I need only the variable "Step.Result.PassFail" from the last step, do you know, how can I get it? I think, it is maybe easier than read all the "Result".
Attachments:
ReadStepResultInLabview.JPG 39 KB -
I have used LabView very little and am trying to write a program to control a microscope. I want to be able to give it commands such as to get the stage to move left, right, forward, back, and return to zero. I'm having trouble implementing the code into my block diagram. I've been reading LabView 8.6 tutorials for a couple of weeks and I'm still learning. What I know that is that I need a event structure inside a while-loop for the user interface but I've been stuck.
Thanks for any help! If you need me to try and provide more information please say so.
Attachments:
Button.vi 21 KBAlright so my serial port code should be inside a while loop unfortunately it doesn't work whenever I enter a command to move the stage. It sits there maybe I'm missing something.
So let me give you an overview to what happens in my code, so the configure serial port is very crucial. The VISA Write writes the bytes to the port. The first VISA Write takes the string to write command. I connected the second VISA write to make it easier whenever I enter a command, the \r will iniate the command as a whole. Example L\r will move the stage to Left once, ending up at VISA Read then closing. All of this found in separate case structures.
Now the user interface to control the the movement of the microscope is one of my issues, making several attempts to make it work yielded no results. My best work not the best but a attempt is attached, also one of the things with this I'm having trouble with is getting the button to talk to the stage. On previous buttons I worked on I could press the button and light up an LED on the front panel, I thought the same principle would relate to the movement of the stage, no such luck.
I hope I cleared up some misconceptions on my part, I appreciate your patience.
Attachments:
OptiScan.vi 14 KB -
I would like to know how to add a simple LED indicator in the TestStand Labview Simple User Interface that would display the Sequence Status( PASSED or FAILED ) ?
I'm using TestStand 3.1.
Thanks a lot
OlivierHi Olivier,
There are several ways to implement this.
The quick and easy method would be to read the ItemText from the Executions ComboBox control. Then scan it to see if it contains "Passed".
(see attached VI)
An alternative is to setup a TestStand UI Label Control, Using the ExecutionViewManager you can set a CaptionSource to the UUTStatus. This will then contain the UUTStatus of the currently selected execution. This is similar to above except the string will only contain the UUTStatus string, not all of the details in the execution string.
However a "more complete" method would be to setup a Callback VI for UIMessages, when the UIMsg_ModelState_TestingComplete is recieved, the UUT status can be retrived. (Refer to the TestStand Help file)
The callback (assuming it has a reference to the LED) can then set the value of it.
This method is prefered over the above 2 because you do not need to poll the TestStand controls to get the status information. When the TestingComplete event occurs, TestStand will execute the Callback VI.
I hope this helps.
Simon Holman
Software Engineer
Certified LabVIEW Developer
Certified TestStand Developer
measX GmbH & Co. KG.
http://www.measx.com
Attachments:
Simple OI - Top-Level VI (Quick).vi 191 KB -
How can I tile up the execution window in the Labview Teststand user interface
I am using the Labview User interface provided with the TestStand development environment.
Running the BatchUUT.seq Example using the TestStand Sequence Editor, you will see that the Execution Window will be divided in 4 windows showing the execution status of the 4 UUTs.
Running the same Sequence using the provided Labview User Interfaces (Simple or Full-Featured) will just show one window with the execution status.
Is there a way to tile up the window to display the execution status in the Labview User Interface?Try something like this:
You wouldn't use random numbers of course, but rely on already opened clones. So you would extend the "Manage Clones" to manage the data for the window position, but set it for each clone in the way the screenshot shows.
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
Develop a user interface in Lecroy1451 by Labview
Hello everybody:
I currently working with LabVIEW and I develop a user interface to the
hardware.
I have finished with most of the instruments and I now have to dialog
with a LeCroy HV1451 High Voltage multichannel power supply.
It has a simple dedicated language and communicates via RS232.
For instance, if we send ‘'‘ 28 LD RUP 11 500'' to HV-Lecroy 1451, it
will answer " 28 DMP 11 -0.1 -12.1 -20.0 488.6 488.6 -2550.0 1 ". This
is clear and simple but there is a lot of work to extract each piece of
information.
I wonder if Labview could help me with a starting program using this
device ?
Or with general tips or general examples to disentangle all the sub chains.
Thank you very much, any answer will be appreciated.
YangHi Yang,
Alan from LeCroy here.. The company Universal Voltronics purchased this product line from LeCroy ~10 years ago. You might want to contact them for support - http://www.voltronics.com.
Regards,
Alan
Alan Blankman, Technical Product Marketing Manager and LabVIEW Developer
LeCroy Corporation
800-553-2769 x 4412
http://www.lecroy.com
[email protected] -
How to create Labview User Interface with buttons?
Hello,
I try to create a user interface, where the TestStand sequencies can be selected one by one not only Test UUT, Single run and run Mainsequence (about 20 buttons needed).
I'm playing with the simple UI shipped with TS and can load the sequence file and run automatically a sequence (Main or another).
How can I create and assign buttons to all sequence files in my TS project?
Any help would be appreciated.
Thanks. (TS 4.0, LV 8.0)I've modified my main VI with the below steps.
I still don't know how to create and assign front panel buttons to the user interface.
Anybody could explain to me how do I need to modify the attached part of my main vi and how to assign buttons.
Thanks.
Attachments:
InteractiveArgs_2.png 12 KB -
Access to ResultList objects from Labview user interface
Hi!
I would like to have access to TS Locals.ResultList[] objects from user interface (LV) after test report is generated.
According to TS Help in this point I can get sequence context for the process model sequence file which posts UIMsg_ModelState_PostProcessingComplete message.
But objects of my interest are located in context of client sequence file.
Can I get access to Locals.ResultList objects with use provided model file context?
Are there another ways to get wanted data?
I have references to sequence file and execution in this point and tried to use Execution.RunTimeVariables property.
But could not get wanted data with any supposed lookup string from this object.
Thanks in advance for any ideas.
Solved!
Go to Solution.The general idea is the following:
You have to keep in mind that Locals.ResultList on the model level (callstack) is simply the return value of a sequence call step (MainSequence). Therefore, you will only have this single entry [0].
To get access to the results of the steps inside you MainSequence (and any other sublevel in the callstack), you have to dig into this callstack using this "root-property":
Locals.ResultList[0].TS.SequenceCall.ResultList
hope this helps,
Norbert
[EDIT]: Since i have not stated it: The screenshot displays the UIMessageEvent callback function in a simple oi where the manager control is the Application Manager.
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
A more successful experiment in creating compositable user interfaces for Config Dialogs
A couple weeks ago I posted an experiment in creating compositable user interfaces using transparent subpanels. The approach might best be described as, "It at least was notable for being novel."
Today, I'm posting another attempt, this one along more traditional lines, and far more successful. Particularly notable: this one can do all the arbitrary composition of the last one AND it solves the TAB order problem.
This solution uses a picture control and renders N copies of a control. When the user tabs to a control or moves the mouse over the control, a real control slides into that position to be able to catch the events (update mouse over draw state, highlight for keyboard focus, handle typing, etc). When the Value Change occurs, a master array of data is updated and the picture control is updated.
This is something that has been attempted in various forms in the past, but there are two aspects of this particular implementation that make it nice:
its programmatic interface for specifying the behavior of the various objects should make it fairly easy for a user of the framework to programmatically generate their dialogs
it handles the TAB problem without flickering, something I haven't seen in other attemps
This idea spawns out of conversation about the previous experiment -- thanks to those of you who posted on various forums, e-mailed me, or, in a couple cases, showed up at my desk. That last one is not something I'm encouraging unless you work at NI... just saying. :-)
Now, this experiement has already yeilded some interesting conversation. We note that as long as controls are instantiated independent of each other -- that is, no property of one control depends upon the property of another control -- this dialog system scales nicely. But in this experiment, I implemented Radio Buttons, which interact with each other -- when one is set True, the others go False. As soon as controls start interacting with each other (such as graying out one control when a checkbox is toggled, or having expandable sections, or really complex cases like updating a graph as some options change, like happens in some Express VI config dialogs) then we start needing ways to refer to the other controls. This rapidly moves us in one of two directions: naming controls or creating references. The naming approach is definitely my preference as it fits better with dataflow and I can do some interesting effects with breaking apart some of the tree. But all of this quickly starts sounding like "Please implement a XAML parser in LabVIEW." For those of you unfamiliar with XAML, in the world of UI design, it might very well be the coolest thing since sliced bread. A XAML string would indeed fit with dataflow, and we could start building that up. I hesitate to head down this road for two reasons. One, as many have noted, there's really not a good XML parsing library written in LabVIEW that can give me a useful DOM tree. Two, that's a huge project and my gut sense is that you'd have to complete a fairly large chunk of it before you'd start seeing any return on investment. But it is worth thinking about -- I might be wrong. Wouldn't be the first time. This code that I've posted today can at least get you started on the generation side if one of you decides to become industrious.
I'm turning my attention away from this project for now... coding in G is lots of fun, and I wish I could spend more days doing it, but this has been a side project and it's time to get back to my assigned projects in text programming. Building a powerful platform for automatic UI generation in LabVIEW would be really useful -- I see lots of requests for this sort of thing, and other languages are pulling ahead of us in this domain.
[UPDATE 5/17/2012 - There is an improved version.]
Solved!
Go to Solution.
Attachments:
ConfighThroughCtrlCreation.zip 558 KBElijah K wrote:
Thanks for posting this Aristos. I would normally be one of those to go bug you at your desk, but in case I'm not the only one with this question... which particular flickering problem are you referring to? The act of switching tabs? In all honesty, I've never noticed...
When you move controls around on the screen, normally you try to Defer Panel Updates while you do that. But Defer Panel Updates has an effect on control's abilities to catch certain mouse clicks, so when you're trying to move a control to catch the mouse, you have to work a lot without Defer Panel Updates, so if you're adjusting captions, etc, to match the new location, you can see flicker as properties adjust. You can move the control off-screen, as long as you have already updated the picture control to reflect the changes. It took a while to catch all the ways that the flickering can crop up. I think I got 'em all.
Attached are the VIs saved for LV 2009. Actually, they're saved for LV 8.6, but it doesn't work in 8.6 because of a bug in the picture control that existed back then.
Attachments:
ComposableUI_LV2009.zip 391 KB -
One user interface for multiple VIs
I searched and searched for an answer to this so if it's out there please direct me to it.
I have an application that has roughly 10 different VIs. These VIs are virtually the same. All they are doing is monitoring data for the operator for instance: Temperatures, Pressures, Vibrations, etc.,. I would like to implement a user interface where the operator could click on a button at the bottom of the screen that would take them to the temperature screen. Once the temperature screen is displayed, I would like to be able to click on a different button that goes to the Pressure screen. In other words, I want the operator to be able to access any screen they want from any screen they are currently viewing. So all the buttons would be at the bottom of every screen. And any screen would be able to access any other screen. I just have not found a good way to do this. Every thing I've tried always ends up coming back to a "main.vi".
Multiple answers are welcome! Thanks.Ben wrote:
DSC has a feature that lets you assign protection levels to each FP control.
Good to know, having never used DSC. Maybe something to add to my "toolbox" in the future.
CLA, LabVIEW Versions 2010-2013
Maybe you are looking for
-
Error in ECA when assigning the value to structures
Hi, There are errors in ECA when we execute our function modules. Say a script has 3 interfaces (just an example) 1) In the first command interface, there is a reference to a structure which has 3 nested structures within, in which the
-
Read Only form after Submit to Email
I have a form i'm working on. Basically its a form I like for users to fill out and then click submit once they are done to send it in an email. The script i found below does what I want but with further testing i found out it's not exactly what I wa
-
Hye, Trying to print sales order in VA02 , it is showing print preview but not able to give the print, icon is disabled and the print dialog also does not appear, neither there is any print option???? Working with the standard output type BA00 Any gu
-
Freeze problems in dock with Quark
Guess my title was too long. Both Quark and CS5.5 programs freeze while sleeping in the dock for any amount of time. I must 'force quit' the program and restart. I have been on with tech support with Quark and Adobe, they say it's a Mac problem with
-
CE-507 with ACNS 4.1.1 killing the network !
I have sme CE-507 content engines running 4.1.1 ACNS code in transparent cache mode. Config below. I am wccp'ing from a 2600 router using " ip wccp web-cache redirect in". On the router I also have no ip source-route ip wccp web-cache ip wccp 90 ip w