Capture digital control last values
Hello
My front panel has several digital commands that I expect the user to enter data in before pressing a button that takes the values of the digital controls and
a power supply programs. What I discovered is that if a user types the digital control and does not support on enter or moves the cursor with the mouse to a new
control, the valleys of news are not captured when the button is pressed.
How to capture the most recent value in numerical order without waiting for the user to press ENTER after that that they typed in the value?
Two possible approaches to capture the value most recent inside a structure of the event:
(1) read the values of your digital controls in the case of events for the button. It is the simplest solution. If you need access to these numerical values in other cases of event, use the event to change value for these controls to update of the shift registers, or use a local variable.
(2) take advantage of the cause of the time-out period (if you are already using it you may need to do some creative re-use). Store the time-out value in register shift and set to default-1 so that he will not run. In your case of button, set the timeout to 0 shift register. Move your key event code in the case of timeout. LabVIEW will be re-read the values of your digital controls and the time-out event runs immediately.
Tags: NI Software
Similar Questions
-
Update of digital control with different values with array function
Hello
I have attached my code base. I want to execute the code for 2 sets of digital control with a gap between the two values, then pass it. Something like that
ABC
Initialize the P1 = 10; P2 = 20; P3 = 30; P4 = 40
Run the code
delay = 10ms
Update of P1 = 150; P2 = 200; P3 = 350; P4 = 500
Run the code
jump to abc
I am stuck how can I update the values of P1, P2, P3, P4? I thought about using a function table but couldn't go further.
Thanks for the help,
Ana
Hello Ana,
One way you might achieve what you are looking for is using property nodes. These property nodes will allow you to change the values of the block diagram control. You can set up a structure of case inside your loop that will change control through nodes of property value after a certain number of iterations. Here is a community sample that shows how to use the nodes property to change the Boolean controls:
https://decibel.NI.com/content/docs/doc-22669
-Erik S
-
I use a cluster as a control. I would like to double in this control to automoatically values to fill their last values set when the VI is opened or accessed for the first time. It would be great if someone could point out for me. Thanks in advance!
In my opinion, the configuration files are the easiest method and the best. Simply save your last values to the file when your code ends. At the beginning of your code, to read the file and fill in the controls with the values read. With the configuration files, the section name can be the name of the cluster, and key names can be control names.
I know OpenG has some pretty nice to do, but I prefer to use the native functions OR when I can. When porting to a new system, there is no need to copy any additional screws library (OpenG library). The native DV come with Labview.
-
You can use the value of a digital indicator in a digital control?
Hello!
I have to develop a code where I need to find the maximum value of a waveform and draw a line at 50% of the value. So I chose find the amplitude of say 10 cycles of waveforms and found the maximum value of the amplitude.
But my real problem is, I have to use the maximum amplitude value I get from the table VI maximum and back into a program to calculate the value of 50%.
So it is possible to use the value of a digital indicator and put it in a digital control? As in MATLAB or C, you give a name to the variable and use it later to do all the calculations. Is it possible to do something similar in LabVIEW?
-
digital controls, by group of input values
Hi, I want to reduce the input values that a user can define a digital control, I know I can set it up to only accept a concrete range but in my case I want to only accept a group of values such as [1,8,22], for example.
Thank you!
Use an enumeration or a ring.
Cameron
-
Display hex values when editing a digital control
Hexadecimal display is deleted when editing a digital control (in the settings) in cvi 2012. Is this a bug or am I missing something?
I have informed our R & D Department of the format settings in 2012 of the CVI. I have filed a request for Corrective Action (CAR # 379345) on this issue, but cannot guarantee that when this problem will be solved. You can check if this problem has been resolved in future versions of the CVI by searching the CAR identification number listed previously in the correction of a CVI Bug information.
-
Is it possible to have explicit '+' sign to digital controls?
Hello
I was looking for a possibility to show the sign of a numeric value to digital controls, i.e. the control should display "-1.2345" or "+ 6.789" because this value will be added or subtracted another parameter value. "". " Accordingly, no sign, i.e. "6.789' is not meaningful in this case."
Unfortunately, I couldn't find any opportunity to do so (CVI8.5.1). I don't want to use a text control where this would be possible, because I have the up and down arrows to scroll upwards or downwards. I've missed something trivial - or is really not possible STD? Seems so simple and natural...
Thank you very much
Wolfgang
Hello Wolfgang,.
We will add this as a suggestion of product. In the meantime, have you tried to capture the top and bottom event keypress in the reminder of chain drive and increment/decrement the value yourself?
Moreover, you always expect to see a sign "+" when the control value is 0? Or no sign at all, in this case?
Luis
-
As in the title. I want to create a digital control (no current limitation on its type) with a range of 1 to 10 (and a step of 1). The only difficulty that I have, is that the user should only be able to increase or decrease 1 at any time. Code initiated by this change of value must have completed at least once before that the value can be changed again. This is because code of VI is mainly contained in a while loop and control are read once at each iteration and its last value should not differ more than 1.
Is this possible with LabVIEW 6.1 and if so, how?
One of the solutions that I came up with so far is to disable the control immediately after its reading, and to turn it on again immediately seized is read the next time (I have to assume that the user is unable to click twice before the control is disabled). It is an acceptable method, or is there a better way?
I also had an idea of partially disable a normal digital control, such that it could not be typed in - only arrows remained operational. However, I'm not sure how.
James
Hi James,
You can use the two buttons (by releasing latch) and a digital display that shows the current value. Button increased the value and the other decreases. Store the value in a shiftregister to work with her.
I don't know if your solution would work because use may directly enter the new value.
It will be useful.
Mike
-
Hi all
I have a questions. It is that I create a Subvi to my table and it can display the last value in the upper part. Below attached snapshots of my programming. I use a number random and STOP for control of you guys let see the whole process of what I want.
but when I change "constant true/false" and using a digital command. and I put it in my program. It won't list down the values and it will not display the most recent value at the top. What is the problem? I was stuck on this problem for a while.
and another question was how to keep the size of the list is constant? for example, I onli wants to view 30readings on my table. as the program continued to run, the oldest value will be overwritten. because if kept under my table more, means memory increase my programming and registration of cause late development. I do not want to happen. So is it possible to maintain the display of fixed table values?
Hi Isabelle,.
I think that the problem causes initialization of a register shift to void / vi. If you initialize a shift register, each time sub vi is called, he will replace value in the registry to offset with initialized value. Uninitialize a registry change to resolve a problem. I've attached a screenshot of my sub vi for your reference.
Sincerely, Kate
-
strange appearance of the digital control
Hello...
I met a strange appearance of a digital control, see the below two screen captures.
Reminder: on a tabpanel, two of several digital controls have been changed programmatically if I put an indicator with a checkbox that is located on another tab of the Panel:
-control mode is switched / battery hot
-precision went from 6 to 4 figures to compensate for the space of digital arrows
These changes are applied to three checks, but only the first (highest) behaves unexpectedly, while others are very well...
(A) if both attributes are changed, the two top controls look like this:
in other words, the left most of the characters of the control are somehow overlapping, giving the impression of a fat o material
(B) if only the command mode of the higher control is changed to hot, the following result is obtained:
This makes it more obvious that somehow the two zeros on the left of the control are pressed together.
Interesting, if I operate the higher control by clicking on the arrow/top down, the result displays (1.0000E - 3) is ok.
I was much afraid to post this mystery which could well be a stupid mine mistake, but unable to locate a problem in the code, I thought that it could possibly be linked to the issue tab panel reported here
Comments, suggestions?
Thanks, Wolfgang
Hi Wolfgang,.
I checked your project, and it looks like a bug. I created a CAR. The number is 282946.
I guess that at the moment, you have to live with it or place the box on the same tab.
See you soon,.
RMathews
-
A digital control takes no account of the limits of data at entry entry is typed, why?
Limits of data located in the property entry seem to have no effect on data entry. A value written to a property node limit the contribution of the increment of buttons but not the data which are entered in the control. How to stop digital control to accept out of desired range values? In the attached example, why I can type in any number for control and data entry limit is ignored?
In the Properties window of data entry for the digital control, you have the "answer of value out of range" ignore the value. Change it to compel.
-
Digital control over several orders of magnitude
Hi all,
I'm trying to get a digital control with a suitable addition to the order of magnitude.
For example, I have a front panel for an osziloscope, sometimes that samples on some ns, sometimes a few seconds, sometimes a few milivolts, sometimes a few volts, who knows, right
I was playing around with the digital control units, but it doesn't quite fit my needs. I can't change the prefix of a unit on the duration, for example of microseconds to seconds, but then I change the issue as well, because on change the prefix, the previous number is only multiplied by the factor according to, for example, 1000, so 5 became US 5th-6s. So change the record length of the default value of 500 ms to 100 ns would require two klicks type, and I can instead just type "100th-9', which is good too."However, I would like to have a digital control from 0 to 1000 combined with for example a button for prefix i.e. nano, micro, mili etc. and combine this values internally, i.e. of mulitplying accordingly. But I couldn't set the increment to "3 orders of magnitude" even with the option to log scale.
I know, I could use an enum with the names and values according to, but this is not very satisfactory.
So perhaps the question would be: is it possible to combine two digital controls or the value for the prefix, in a suitable and easy way? Or how do you manage the digital values over several orders of magnitude in a case like mine?
Thanks for your replies in advance.
Best,
bastlwastl
Display format is SI units
It helps in these situations
-
How to separate the 'down' key panel and digital control
Hi all
I have a key to proecess vi events for Panel and a digital control in this Panel. the app will do:
1. when the Panel is focused, allows the user 'up' and 'down' to the driver of some hardware.
2. when the digital control is activated, 'up' and 'down' change its value as usual.
somehow the other did not, because the round table 'touch down' was trigger as well when I use «to the top "'down' key aminata CNC.»
Then, I used "Key down?" digital control to block the "up/down" key But the first time, when I run the Vi, the Panel always got triggered only once.
any suggestions on this? test code attached to this post too.
Thank you
It works for me in 2014. In short, you just need to check to see if your digital has the focus. If it isn't, then you treat the value of the key. No need of any other event here except the stop button.
-
Flashing LEDS with digital control
Hello
I want to do a simple program that goes like this. I have 2 digital controls and 2 comparisons. 1 digital will compare if the number if there is less than 50. Second comparison if it is longer than 50. If less than 50, according to this number LED is blink your eyes upward and will stay on. If the second number is greater than 50 the LED belonging to this number is then blinking and will remain lit. NOW...
If one OR both of these lights light up, a THIRD light should BLINK automatically. If the two first two traffic lights are off, then the third should stay off.
I tried using shift registers and a deadline for the delay, but I'm stuck.
Any help would be great. Thank you!
Thuba25
First, you must modify your code for an interactive real state machine. Your code is inside-out.
Currently, the controls are read once at the beginning of the program and then never.
- Do not use internal loops. Use a single outside WHILE loop that encompasses all of the code.
- Get rid of the stacked sequence, she is useless and obscures just the code.
- The case structure belongs inside the loop and not vice versa.
- Read the commands with each iteration and decide depending on their value.
- ...
See how far you get... Good luck.
-
Digital controls by default Reint?
I am VERY new to LabVIEW and were loaded to think beyond my skill level. I'm sure it's an easy fix, but I am at a loss.
I have a digital control that changes of the user. The value of the digital control is then added with a reading of a strain gauge. I need to find a way to return the digital order to its default value. I read something on the forums on the use of a node to invoke, but I don't have a clue how to set up.
Thank you so much, in advance.
Thank you so much, I spent hours trying to use the loops and conditions. I didn't know where to put it in my program. One of the loops has finished the program to the point where the display was 5 seconds behind the data behind.
You guys are life savers!
Here is a selection of the node implimented. I used a button to "lock when you press on.
Maybe you are looking for
-
My phone transferred to my husbands phone number
I got a new iphone 7 so I gave my husband my iphone 6. I have deleted my old phone and implemented as if it was new to using its backup to icloud. He moved all his photos, contacts and all, but it uses my phone instead of number.
-
Toshiba LCD 37wl66zs white screen!
Hello I hope someone here will know all electronic and can help me solve this problem. Sometimes when I turn on my TV, I don't see is a white screen with sound. When I turn off the TV and turn it back on and then picture/video is back. This problem f
-
My HP Compaq dc7700 desktop PC small form factor is equipped with a processor replacement of Intel Core2Duo 2.66 GHz (E7300), Stepping/CPU ID 10676, but I now have a start-up error message: "1801 - Microcode patch error.» Missing or not valid proces
-
Windows XP won't let me download Open Office 3.3
I get error 1330, a file cannot be installed etc, has an invalid digital signature.
-
Red stuck wireless button between "off" and "off".
I have a Pavilion dv7t-2000 running on windows 7. My wireless was working last night, and I turned off the computer normally. This morning, before turning on, I cleaned up (which occupies the keyboard and wiper switch panel). Now, I can not wifi to t