Switch timer within the structure of the case?

Hello

I am relatively new to LabVIEW, hoping someone can help me with something that I am trying to solve. I am working on a system for the acquisition of data for a formula SAE car and try to design a VI that will be time how long it takes for the car complete the trial of acceleration of 75 m. The timer will be actvated in now the pedal for 5 seconds and save time for the file when 75 m is complete.

I've set up a business structure that works in the following order.

1: Check the brake pressure (if threshold, go to 2)

2: how long the brake was pressed for time. (If more than 5 seconds switch to 3. If the brake is provided within this period, date back to 1)

3 whether the movement of the wheel (wheel strats move, go to 4, otherwise, keep control)

4. begin to measure speed and distance. (once reached, proceed to 5)

5. replace all over again, save the file (then return to 1)

I'm pretty happy with everything but part 2. I tried a timer pending within a sequence of flat, check that the pressure is fine, but pedal pulses rather that now he can active it, and using a true/false with the same function case structure waiting does not like LabVIEW bed not true/false value, once within the structure of the case.

I would be grateful if someone could point me in the right direction!

Thank you

Kevin

get rid of the sequence, here your timer elapsed, also got rid of your case to check brake pressure, do not use ms of waiting for your timing of sequence...

Tags: NI Software

Similar Questions

  • NOT IN clause in State of the CASE statement does not

    Dear friends,

    I want to use on the condition in the WHERE clause of my SELECT statement.

    WHERE <>...
    <>...
    AND eihf.exr_aip_asset_sid NOT IN
    (CASE when safa.fund_relation = 'C' and safa.fund_account_code! = vFundAccount)
    SO (37874,37909,43424,55040,59513,59598,58570,76148,75885,75927)
    ON THE OTHER
    (0)
    END
    )

    But it gives me an error like "missing of good parenthis."

    Help, please.

    Kind regards
    Jonathan

    You can not write a list of values within the case statement.

    try something like this,

     WHERE
    <------------->
       AND CASE WHEN safa.fund_relation = 'C' AND safa.fund_account_code != vFundAccount
             THEN eihf.exr_aip_asset_sid ELSE 1 END
           NOT IN (37874, 37909, 43424, 55040, 59513, 59598, 58570, 76148, 75885, 75927)
       AND CASE WHEN safa.fund_relation = 'C' AND safa.fund_account_code != vFundAccount
             THEN 1 ELSE eihf.exr_aip_asset_sid  END != 0;
    
  • Structure of the event within the structure of the case run once

    Hi all

    I am a controller using myRIO and labview where the program compares a value of the probe in a "Preset" and then choose a structure case depending on what type of air supply is required. What can be seen on the picture, for example, is 0 if saturated air supply is necessary.

    The structure of the event is used to send a signal to step to the stepper motors to open the valves (closing is still pretty much in the same way). In any case, the event turns my valves 90 degrees. I read the sensor all a second, however, when the case remains unchanged, the case runs the event again causing my engines running at 90 degrees per second (essentially continuously). What I'm looking for is a way to send the signal to step only once until a new case is selected.

    He is not on the photo, but this is all within the large loop.

    Apologies for any bad/cringeworthy coding, it is literally my first program always using labview. I can post the full VI if you need.

    Any ideas would be very appreciated! Thank you

    Simos wrote:

    crossrulz you have a simple example by chance that uses the feedback node?

    See if that helps

  • structure of the event within the structure of the case? error or limitation of LabVIEW?

    Hello

    I am trying to reach a structure of the event within a box structure. The event is triggered by a mouse event (mouse down, move to the top).

    This vi tries to simulate behaviour of the device with a sensor, so the mouse triggered the structure of the event, won't be there in real working environment, so I can't remove the structure of the case.

    But as I noticed that if I try to click on the drawing (that my mouse events are triggered with) before activating the Boolean condition of 2D, I can access is no longer the component front (button, leads, etc.).

    They seems to be frozen. But if the case is true before you try click on the 2D drawing area, everything seems to work well.

    Is - this protected by a kind of LabVIEW bug or there is a limitation?

    These are my screws.

    Thank you

    Hello Nefertari,

    Use a Standard Architecture.

    I changed the code. I hope now that its fine.

    Please find the code updated the joint.

    LV 2012.

    Kind regards

    Leila

  • How can I control the working time so that the loop structure in the cases where the structure?

    Hi all

    My job is: Loop While structure generates the signal for 4 seconds when you press the 'start build' button, after that data has been backed up. You press the button "generate the beginning' once again, and the loop runs one again.

    My problem is: the first pressing, the loop, exactly 4 s (3, 999 s), but him second, third pressing on... The time elapsed is not 4 seconds, always smaller (even ~ s 0.003). The loop works correctly after press the "Exit" button and launch the program again.

    How can I control exactly time loop work While Structure without the press "Exit".

    Thank you any help!

    P/S: I used the number of cycles (ms) just to look at a working time of the While loop.

    NMCuong

    This shows a quick solution

  • test of the structure of the case

    Hi all

    I use the Structure of the event in a tab control.

    On page 1, there is a Table control and when the mouse is clicked on it, it returns the value of the cell. The event is ablsolutely very well work, but the problem is that I have no idea how to do to prevent the event.

    I enclose my Vi here. PLS, have a look at it and let me know of a possible solution.

    Thank you

    Ritesh

    ritesh024 wrote:

    But, this means that the events of Page 1 are getting triggered even when the control is in Page 2.

    Who would take the unnecessary memory and the time there is no need for Page 1 events to run when the control is on another page.

    No, the event will not get "fired", because if you're on the other tab it is impossible to raise the table event and a mouse upward may not occur. The structure of the event is in memory no matter what and placing within a structure of matter is only complicated the code and peut you cause problems.

    The structure of the event must always be in the data flow, the position of the tab is not relevant. Never hide an event within a structure of business structures.

    Here's a quick example (LV 8.5). Tab 1 has your table and detects the position of the cell. Tab 2 contains a light switch. As you can see there is any necessary structure.

  • Help with the Structures of the case

    I have a problem switching between the true and false cases between the structures of the case. I'm writing a VI that generates a random number between 0 and 10 once every 0.5 seconds, and then adds the numbers until the total reaches or exceeds 100. At that time, it should start to subtract the number generated at random until it reaches 0, then switch again adding etc.

    I have a problem switching to the case of 'false' once the sum exceeds 100. If anyone can help with that would be great!

    To make things more simple exchange the Boolean value for an enumeration with only two values you can call "Count Up" and "Count Down".

    Create a second shift register to hold the enumerated value specifying whether to "Count Up" or "Count Down". Initialize the new register shift to count up, and in the case of "Count Up" in the structure of the case, increment the value of data and test to see if it is greater than 100. If this is not the case, do not change the value in the registry to shift direction. If data has exceeded the limit, change the values in the shift of direction register account to "Count Down".

    In the case of 'Count Down', decrement the value of data and test a value less than 0. When the value of the data is less than the lower limit, change the values in the change of direction of the County Register to "Count Up" and you're done.

    Mike...

  • delay in the structure of the case

    Hello

    I use a structure of cases within a while loop.

    I want to put a delay of about one second whenever the case goes wrong (it must remain false until 1 second) then comes to the usual routine. I tried to use the function wait (ms), but then it effects the while loop. is it possible to put a delay without the normal time of the while loop operation?

    I enclose an example simple vi to clear my point.

    Thank you

    Here is an example of using the last timer.

  • DAQ Assistant no recorded data during the case structure is false

    I try to turn it on turn off heater using intermittent relay module (some time and some free time). The program attached that do very well. Except that I also want to record the temperature of the radiator using materials DAQ Assistant and it records all the data when the case structure is false. I mean, when the relay is off. I tried to use the vi for the acquisition of data in the structure of the case. However, aparently it is not possible to call the module analog input even twice in the same program. All solutions? Thanks in advance.


  • Event Structure... the mouse down or to the cases of change of value

    I feel, it is a simple problem, but I can't seem to find a solution.

    I have a VI that is supposed to communicate with a stepper motor drive.  I'm working on the Boolean setting keys on the Panel before (acting as of the momentary switches) that will jog the hourly engine or counterclockwise, as long as the button is pressed.  Once the user releases the button, the motor should stop jogging.

    I tried to use the mouse down and value change event.  With the help of the mouse down, for some reason, the time-out occurs almost immediately even while holding the mouse on the button.  This translates into what seems like nothing is happening.  Although the engine receives all orders he has to run, it receives the stop command immediately after.

    Using the value change case, the procedure works and the motor turns, but when you release the button (another change of value), all orders of jog are returned to the engine stop control tracking.  Sometimes the motor continues to run after the shutdown command has been sent, and I think that might be involved because it receives all the shortening of orders (again) and the judgment of control both.

    Is it possible to cnage my case event to run the way I want to what he... Send commands to the button click on... Send different command button.

    Thank you.

    Thanks for the suggestion...

    I could solve the problem I had.  Previously, I was trying to display the timeout to-1 to a value greater than 0 to launch the timeout on a button release event.  To solve the problem, I just removed all of the code that has been changing the value of timeout and left the default to-1.  I also removed all the code in the case of timeout.  Then, I created a new mouse event that is fired by releasing one of the buttons and copied in the code that used to be in the case of timeout.

    Now, the works of VI exactly as I need to... where an event occurs on a mouse a click of a button and a different event happes when the button is released.

    A very simple solution, however I've only worked in BT for about a week and I have not seen the mouse event when I scroll to the event.

  • problem of data flow in the case structures (using a state machine)

    Good day everyone.

    I'm having a problem with the flow of data between the structures of the case.

    I try to use an example of a state machine for this simple problem. but when I try to send data of a box structure to change the State of the code. It will change not in the desirable output, instead, it offers the possibility that the exit options emul.

    could someone please point what I'm doing wrong here. Any kind of help would be very appreciated.

    With a quick glance at your photos a question you have is that you use not data flow. You write your status updated in local variables value. Your State should pass through the case structures are a single wire. Playback of your order "Enum", happened in the register shift on the right side of your loop probably get running and reading before any processing occurs within the structure of your business. That's why you're reading the old value of the State and not the update. or have a classic case of a race condition in your code.

  • change of the indicator with time using the structure of the event

    Hi all

    I use a structure within the meaning of the event to change the State of an indicator. At this point, I was wondering is there a way I can monitor this change of State in a time interval?

    Which means that how I can raise the event only when the state change is long enough (for example 5 seconds), if there is a change of State, but the State eventually back to normal (less than 5 seconds), the event is not triggered.

    Thank you and hope someone can give me some advice on how to do this?

    Sorry for this reading does not completely. Here's a version that works and not stuck to wait.

  • Store/communicate IMAQ image (binary) between the structures of the case

    Hi all

    I am trying to build a VI for a controlled industrial vision system and it has 2 process: first an image of calibration comes a sequence of discrete of images. After that, the user can start and stop the continuous controlled process of machine vision. This process then uses the calibration image to remove some background objects etc..

    As the two processes cannot run at the same time, I programmed it as an event-driven state machine (following this tutorial: https://www.youtube.com/watch?v=RuIN31rSO2k) combined with continuous acquisition.

    My question is how to store and communicate the image of calibration between the structures of the case. It is basically a static image that is generated at the start of a race and then used once during the continuous control loop.

    Now, I tried storing in an IMAQ control with a local variable, but it does not work when I try to read the image. Preference image must be passed the bottom without any interference of the façade. I could probably make it work if I pass on the image in a table and then convert it back, but I want to avoid unnecessary conversions and understand how to manage the images correctly.

    Joined codeblock showing the part where I (attempt to) store the image and how the process of continuous measurement is connected (Yes, I know the live view is wired incorrectly in the scheme of the latter, it was a test to show a colleague).

    Thanks in advance for any help!

    Consider placing the image, the data record in a turn on your main WHILE loop.

  • Structure of the case: selector values are not unique

    Get the error: case Structure: selector values are not unique...

    With the help of producer-consumer architecture w / SW-events and comms of queue.  DevSuite - LV2014

    My loop of consumers use a typedef for case selection control.  The typedef is an enum and the names of text for each value.  All my files are in quotes and there are no duplicates in the typedef or structure of the case.

    Help

    JF

    Jeff.F wrote:

    Get the error: case Structure: selector values are not unique...

    With the help of producer-consumer architecture w / SW-events and comms of queue.  DevSuite - LV2014

    My loop of consumers use a typedef for case selection control.  The typedef is an enum and the names of text for each value.  All my files are in quotes and there are no duplicates in the typedef or structure of the case.

    Help

    JF

    I don't know what you're doing exactly what I think. Do not write text in quotes for values box. Wire the enum in the switch case, right-click on the structure of the case and select "add a case for each value.

    It might be a little different because I'm teliing memory.

    Ben64

  • Problem with the Structure of the case

    Hello

    I added a new structure of matter in my VI. However, once added, there is an error that I have really no idea how fix it.

    The error message:

    "Business Structure: selector values are not unique.

    "A value of the selector is used by more than one case.  "It can be in the middle of a beach in one of the cases".

    Could someone help me please.

    Thank you.

    Floret

    Please your zip code as an attachment. See your code will make it much easier for us to understand your problem.

    The error relates to the distinction between each image of the structure of your business. You can have two business executives who launch for the same input selector case.

    For example, if I had three managers of cases that have been '0..', '1', 'Default', then frame 1 & 2 times would launch if the entry is 1 (this is not allowed). Check you definitions of statement.

Maybe you are looking for