Parallel processing in a state machine, help a semi-newbie out...

To simplify my problem:
1.  I have two buttons and a string indicator on my front panel.
2.  My code contains a state machine.
3.  In state X, I need to update the string indicator with a new string once every second UNTIL one of the buttons is pressed.
4.  When one of the buttons is pressed, I need to switch to a different state, depending on which button was pressed.
I'm having trouble coding the parallel processing part of this.  I have the code to update the string indicator once every second and I have the code to switch to a different state depending on which button was pressed.  But I can't get them to work together so the updating of the string indicator immediately stops and moves to the next state when either button is pressed.
Any thoughts?

This might be slightly closer to what you might be expecting.
Regards,
Chetan K
Application Engineer
National Instruments
Message Edited by CKap on 07-10-2006 03:21 PM
Attachments:
State Machine Demo.vi ‏32 KB

Similar Messages

  • How do you create array of enums for transitions in a state machine?

    Hello,
    I am trying to build a state machine, but, I am struggling with understanding the methods for determining which state to transition to next.  In other words, I have several states, but, I don't want to go in any particular sequence.  If I have states numbered 1 through 10, I want to be able to go 1-4-2-5-6-2-6-1-10 etc. in no particular order. I want the transition to the next state  (and actions) to be determined by the streaming data, which can be random and require access to any of my 10 states at any time and in any sequence.
    I saw this picture on the "Application Design Patterns: State Machines" white paper, but, it leaves out some important details.  How does one create the structure in BLUE shown in 3C?  When I try to create this array of enums, all of them are the same. I am not able to make a list of different enum values.  In other words, when I type in "2", then, all the values in the array display as "2."
    There is a nice, simple video example of a state machine for dispensing soda for $0.15, however, this state machine moves in a single sequence, from 5 cents, to 10 cents to dispense; it does NOT illustrate how to select a state "out of order."  I need to understand how a state machine can move from "5 cents" state to dispense directly, with the addition of 10 cents to the "5 cents" state.
    Can anyone suggest a really good tutorial on how to make the selector work in a state machine?  I have been reading some of the available material on ni.com, but, I can't find a good detailed explanation of how to do it.  I remain confused. 
    Or, can you just explain how they created the BLUE array in the attached picture?  Maybe I can figure it out from there.
    Thanks,
    Dave
    Solved!
    Go to Solution.
    Attachments:
    next state.jpg ‏75 KB

    Hi Kathryn,
    Yes, this is EXACTLY what I want to accomplish...
    So it would basically run:
    State 1
    Read input
    Determine next state (say 3)
    State 3
    Read input
    Determine next state
    State
    Read input
    Determine next state
    And so on...
    But, I am quite new to programming Labview state machines, and can't figure out how to even start when the sequence of states is random instead of fixed!!! I can do 1,2,3,4, like the vending machine VI example, but,  not 1,3,2,2,2,5,2,1 etc. based on external input.  Is there some simple example case I can study?  I can't believe I am inventing this for the first time.
    "select the state to run" 
    But, HOW do I do this???????   This is exactly the question I am asking...how is this done?  Please see the attached 3-state system....how do I hook this up????  I am totally lost here...can you help me understand how to wire this thing??  In this simpe RED/GREEN/BLUE case, my input is just the number a user would input on the front panel....  Apparently, there are two files necessary... a vi and .ctl???  What  is .ctl?
    Thanks,
    Dave
    Attachments:
    forum nov 12 red green blue.vi ‏7 KB
    forum nov 12 red green blue.ctl ‏5 KB

  • Parallel Processing in ABAP

    Hi,
    I have a internal table that has object references in it. Each item in the table are indepenent of the other. I want to extract info from each object and convert it into a internal table so that i can pass it to an RFC function.
    So how can i do this extraction of the info from the objects in internal table in parallel.
    To use the STARTING NEW TASK, i created a fn module that is RFC enabled.... then i can't pass the object reference to this module. So how can do this?
    Also i read that this function module call will create a main or external session which has a limit of 6 per user session.Is this correct?
    If above can be done, I also wanted to restrict the no of parallel processes being executed at any point of time to be 5 or so.
    thanks in advance
    Murugesh

    Hi Murugesh,
    Parallel processing can be implemented in the application reports that are to run in the background. You can implement parallel processing in your own background applications by using the function modules and ABAP keywords.
    Refer following docs.
    <b>Parallel Processing in ABAP</b>
    /people/naresh.pai/blog/2005/06/16/parallel-processing-in-abap
    <b>Parallel Processing with Asynchronous RFC</b>
    http://help.sap.com/saphelp_webas610/helpdata/en/22/0425c6488911d189490000e829fbbd/frameset.htm
    <b>Parallel-Processing Function Modules</b>
    http://help.sap.com/saphelp_nw04s/helpdata/en/fa/096ff6543b11d1898e0000e8322d00/frameset.htm
    Dont forget to reward pts, if it helps ;>)
    Regards,
    Rakesh.

  • Parallel processing for program RBDAPP01

    Hi All,
    I am running this program RBDAPP01 daily after every 30minutes to clear the error I Docs (Status 51 Application document not posted) Status Message u201CObject requested is currently locked by user ADMINJOBSu201D when I run this job it only clears few Idocs because of the Status Message u201CObject requested is currently locked by user ADMINJOBSu201D Means when one Idoc is getting updated the second one tries to update the same time for same order, same customer, same material and same plant but different ship to party it finds locked and cannot be posted.
    Can any one tell me what parallel processing is and will it help my case.
    Thanks

    You didn't specfiy which release you use so I can just give some suggestions:
    Note 547253 - ALE: Wait for end of parallel processing with RBDAPP01
    Note 715851 - IDoc: RBDAPP01 with parallel processing
    Markus

  • Parallel processing--share your suggestions

    Hi Experts,
       I have a program which is taking long time (min 10days)to run because of 4 millian data.Thing is i am planning to use parallel processing, i have gone through help documents.They have used one Syntax
    "CALL FUNCTION func ...STARTING NEW TASK task name "
    ans some additions.
    What this function module name?.Do i need to create a
    "RFC function module" and call my report from this function module.My problem is how to use my progarm and this SYNTAX.
    Can any will explain and give some suggestion on it.
    Note : I fine tunned this program Max.extend
    Thanks in advance.
    Murali

    Hello Murali,
    There are many considerations for starting the job in parallel.
    1. u should be able to logically break the job for parallel process to handle.
    2. When the jobs starts in parallel mode there is no sequence in which they will complete and so should be independant of each other.
    3. The FM which is called in CALL FUNCTION func ...STARTING NEW TASK task name should be RFC enabled.
    4. In order to process the jobs in parallel ur system should have atleast 3 dialog work process and should have one dialog process free when u start parallel processing.
    I am assuming u don't have the FM which is why u are asking what is the fucntion module name. I would suggest u need to modify ur code in such a way that u are able to create a FM which is going to be called in the CALL FUNCTION func ...STARTING NEW TASK task name.
    Abhijit

  • Shutting down a queued event state machine with multiple parallel loops

    I am trying to find the best way to shutdown a program that consists of a queued event state machine architecture with multiple parallel loops. Can anyone recommend the best way to accomplish this in my attached VI? (From browsing the forum, this seems to be a common question but I haven't found a solution that works for me.)
    I welcome any other feedback on my code as well, if anyone is willing to offer it.
    My Program Requirements:
    If the user presses the "Shutdown" button, the program should prompt the user with "Are you sure you want to stop the program?" and then either return to the Idle state or proceed to stop the program. Additionally if there is an error, the program should prompt the user with "Clear error and continue, or Stop program?" Then either return to the Idle State or proceed to stop the program.
    Details of architecture:
    The program consists of 3 parallel loops: (1) an Event Handling loop that enqueues various States to a State Queue, (2) a State Machine which enters the latest state that is dequeued from the State Queue, and (3) an Error/Shutdown handling loop which processes any errors in the Error queue.
    During normal Shutdown, in the Event Handling loop the "Program.Shutdown" event case executes, and the States "Shutdown" and "Idle" are added to the State Queue. In the State Machine, the "Shutdown" state is invoked. A special error code "5000" is added to the Error Queue. In the Error/Shutdown handling loop, the "5000" error triggers a prompt that asks the user if they want to stop the program. If the user chooses not to stop, a notifier StopNotif is sent to the "Shutdown" state and "Program.Shutdown" event case with the notification "Go". If the user chooses to stop, the notifier sends the notification "Stop". The Event handling loop and State Machine are terminated if they receive the notification "Stop".
    In case of error, the program behaves similarly: if the user chooses to clear the error and continue, the program returns to the "Idle" state.
    HOWEVER - if the user chooses to stop the program, the program stalls. The notifier that is sent to stop the Event Handling Loop and State Machine cannot be read because the Program.Shutdown event case and the Shutdown state (which contain the "Wait for Notifier" function) are not active.
    I have been able to activate the Shutdown state by enqueuing it in the Error/Shutdown handling loop. But I don't know how to activate the "Program.Shutdown" event programmatically, and thereby access the "Wait for Notifier" function inside it.
    I tried to place the "Wait for Notifier" function outside the event structure, but then the Event Handling loop never completes. Placing timeouts on the "Wait for Notifier" and on the Event structure makes the program work, but I want to avoid using timeouts because I don't want to turn my event-driven program into a polling-based program. I'd also like to avoid using variables or property nodes to stop the loops, because that requires creating a control/indicator for something that the user doesnt need to interact with.
    Thank you!
    Solved!
    Go to Solution.
    Attachments:
    Queued event state machine parallel loops empty.vi ‏46 KB

    Thanks for clarifying that, Ravens Fan.
    I marked crossrulz as the solution for pointing out User Events to me.
    I also adopted Ravens Fan's suggestion to keep the Shutdown procedure out of the Error Handling Loop. This has simplified the architecture by eliminating the need for Notifiers. Instead, I have used booleans in case structures to stop the Event Loop and State Machine, and Release Queue to stop the Error Handling Loop.
    For reference, I'm attaching my corrected code.
    Thank you to everyone who helped!
    Attachments:
    Queued event state machine parallel loops empty in progress.vi ‏44 KB

  • LabVIEW Queued State Machine as Parellel Process Enabler

    Hi
    LabVIEWs Queued State Machine Architecture is a detailed article on its application for parallel process programming geared to take advantage of LabVIEWs hyperthreading capabilities and multi-core processor PCs of today.
    I am writing future book chapters as blog articles so your critique/comments are appreciated.
    Anthony L.

    I have really enjoyed the articles on ExpressionFlow.  I also like this one, but I think it could use just a little work.  I think that the content is good.  However, about 1/4 of the way down, you have:
    A general layout of QSM-PC architecture comprises of the four objects annotated by the encircled numerals 1 to 4 shown in Figure 1.
    These objects are namely: (1) Queue reference object; (2) User events
    object (optional for head-less embedded applications that require no
    user interaction); (3) Main state machine object; (4) One or more
    parallel processes subVI objects.
    You then go on to have
    Item (1) The Queue Reference
    Item (2) Consumer Object State Machine
    Item (4) Parallel Process SubVIs
    You need to reconcile the two.  I think that a separate (probably earlier??) chapter/article on event structures including dynamic (user) events could be referenced as item 2.
    Thanks for the articles and I hope that this helps!
    Bob Young
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • Need help created state machine with timed digital output

    Hello everyone I'm new in LabView especially about how to make a state machine. I want to make simulation about state machine with digital output. In Front Panel there are volt_in as an input slider (0-10 V), two numeric control (upper limit and bottom limit), a waveform chart to plot those 3 value, and three boolean (P0.0, P0.1, P0.2) as an indicator. Boolean indicator will on if input from slider exceed the limit in certain situation. This simulation will work as follow:
    1. Define the upper & bottom limit (ex. 8 & 4V)
    2. Make an input from slider (0-10V)
    3. If input (2) exceed the upper limit but less than 10 second (ex. you have 9V input for 8 second, but after 8 second you change the slider back to normal between 4-8V) then the boolean indicator P0.0 & P0.2 will stay off
    4. If input (2) exceed the upper limit more than 10 second (ex. you have 9V input for 4 second, change to 8.5 V for 3 second, and then change to 10V for 3 second) then the boolean indicator P0.0 will turn on for 5 second, turn off, then follow by indicator P0.2 for 5 second, and turn off
    5. Wait 15 second, then repeat process from (2)
    Same process for input that exceed the bottom limit (P0.1 and P0.2 as indicator).
    Can you help me make the block diagram of this process? I will appreciate any of your help.
    Best Regards
    juventom 
    Attachments:
    State Machine Digital Output.vi ‏28 KB

    I would highly recommend you to open the template in LabVIEW to design state machines. You can the Standard State Machine template if you go to File -> New.. and Browse to VI -> From Template -> Frameworks -> Design Patterns.
    Also, here is a good explanation of one:
    https://decibel.ni.com/content/groups/northeast-oh-labview-users/blog/2009/09/08/state-machines
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Running SubVIs with state machines in parallel

    Hi,
    I'm new to labview, working on it for a couple of weeks.
    I'm building an application where there are a number of identical elements atht each is controlled by an identical state machine which is independent from all others.
    My problem is how to place each state machine in a subvi and running them in parallel.
    Each of the subvi has a while loop for the state machine, and the program gets stuck inside never entering another subvi.
    Is there an elegant way to run a couple of SubVIs each holding a state mchine in parallel?
    I come from the VLSI world so there is no problem implementing this kind of logic in hardware description language but the labview way to do it eludes me...
    thanks you very much for any help,
    Eyal.

    braxat2000 wrote:
    Hi,
    Thank you everybody for your kind help.
    The problem was solved and my application is OK now.
    For future reference,
    I used the execution reenter subvi to allow multiple instances of it in parallel, and added a global variable that the subvis can change, and the main can read from.
    Used semaphores to make sure correct parallel write to common sources.
    Cheers,
    Eyal.
    Great solution- but how to avoid race conditions in the global variable?  Globals are notorious for causing headaches, nightmares and nausea so if there is a way to avoid them and enforce a bit of cause- effect its highly desirable.  In this case you have clones of a re-entrant vi running in parallel so you CAN'T use a functional global (the most common solution see Ben's famous Action Engine nugget)
    Since we can't enforce data dependence we need something else as a cause-effect team..... Change event dependency would be a good substitute.  Two methods for getting this type of dependence would be a dynamic event or my favorite the "Named Queue"  set the data type of the named queue as a cluster of instance of source and data from your global and the main loop will be able to see EVERY write to the queue AND the source.  Moreover the queues datatype can be expanded to offer any information the main vi needs to be a good executive. In fact a new sub vi that "monitors status" of the clones would make the application highly scalable and robust. 
    Jeff

  • Need help created state machine that is time based

    I need help with my labview program. My goal is to write a program that allows the user to turn a toggle button on/off. When they do this it will start a loop witch turns on a digital switch for 45 minutes then off for 30 seconds and on and on till the user toggles the switch off. The timing does not have to be precise. I am using the NI 9476 digital output card.
    I have written the code to turn the switch on/off. I know need to add the looped fuction for on 45 minutes/off 30 seconds. I assume the most efficient method would be using a state machine, but I was having trouble figuring it out.
    Attached is the program I have written thus far without the loops.
    Thanks,
    Barrett
    Solved!
    Go to Solution.
    Attachments:
    Test Setup X01.vi ‏16 KB

    I cannot see your code since I don't have 2010 installed. A state machine would be good approach but in order to allow the user to cancel and possibly abort the process at any time your state machine should have a state such as "Check for timeout". In teh loop containing the state machine use a shift register to pass the desired delay value and the start time time for that particular delay. Once the user starts the process set the delay time to your desired time (45 minutes expressed as seconds) and have another shift register that contains the next state to go to after the delay completes. Use a small delay (100ms to 500ms depending on how accurate you want your times to be) to prevent your state machine from free running and then check the delay again. Use the current time and compare it to the start time. If the desired time has passed then go to the next state. You can store the next state in a shift register. No do the same thing for your Off Time state.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot
    Attachments:
    Simple Delay in State Machine.vi ‏14 KB

  • Need help setting up a Finite State Machine in BlueJ

    Hey all, I joined these forums to hopefully help me catch up with my Java skills. I haven't programmed in Java for almost a year, and the class I'm in now does little for review so I'm rusty to say the least. The assignment we were given recently is to create a Finite State Machine resembling a gumball machine. This are basically the requirements given:
    The operation of the gumball machine is simple. It takes a quarter to get a gumball dispensed. The customer needs to deposit a quarter and turn the crank, and a gumball will be dispensed if the machine contains one or more gumballs.
    Design steps:
    There are a number of states: No_Quarter, Has_Quarter, Gumball_Sold, Out_of_Gumballs
    Create an instance variable to hold the current state and define values for each of the states.
    All the actions that can happen in the system are: insert_quarter, ejects_quarter, turns_crank, dispense_gumball, and refill_gumballs. The action dispense_gumball is an internal action the machine invokes when it reaches the Gumball_Sold state.
    Create a class that acts as the state machine. For each action, create a method that uses conditional statements to determine what behavior is appropriate in each state.
    Write a test program to test the GumballMachine class. You consider not just normal operations i.e. insert a quarter, turn the crank; but also operations such as insert a quarter, eject the quarter, turn the crank. Or what if you turn the crank twice after insert one quarter. Or what if you insert two quarters in a row.
    Now trust me, I'm not asking for someone to come here with a hunk of code and say, ok use this, and it's done. What I'm here for is hopefully someone can walk me through the right thought process of how to implement the states, and where/how to include the actions to go along with the states. We're to use BlueJ to write the code, and I'm still pretty unfamiliar with its arrow system that tells Test Programs to use the linked class(es).
    Thanks for any help in advance, and for what it's worth, speedy responses are especially appreciated!

    Did you upload everything to your server?  Did you perform the compatibility check?
    FormCaptcha’s requirements:
    PHP 4.0 or later.
    GD Library for PHP, version 2.0 or greater (it's installed on most web servers but it may not be enabled).
    The page that processes the form must have .PHP extension.
    Tip: If you want to be sure that your web server supports this captcha tool, then you can download and test our free captcha compatibility check. This is a script that checks if your web server can generate captcha images and perform the captcha validation.
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists 
    http://alt-web.com/

  • Need help with basic user events in Queued state machine example

    I have written a little queued state machine example to try to teach myself about creating and using user events.  The objective of the machine is to periodically choose a number (I'm doing it now with a control instead of a random number generator for troubleshooting), and compare that number with the number I have set in a control.  When they match, I want to cause an event to fire so I can do something about having found a match.  The examples in the LV Help file references show the events within the event structure, but I want to reach out of a state and cause an event ....
    Can someone point me in the right direction here?
    Thanks
    Hummer1
    Solved!
    Go to Solution.
    Attachments:
    User Event Generator Example01 snip.png ‏102 KB

    Yep....That was it...I had tried to do that but got fouled up with the variant definition...so defined the user event using a boolian and did the same in the case structure where I wanted to create the event and it worked great...
    Thanks.
    Here is the final version...not bulletproof, but does have a queued state machine using a user event to cause an event to fire.
    Hope you find it useful.
    Hummer1
    Attachments:
    User Event Generator Example01.vi ‏45 KB
    Operating States Enum Example01.ctl ‏5 KB

  • Parallel processing: Help!

    Hi Experts!
    I need to use parallel processing for BAPI_INQUIRY_CREATEFROMDATA2 since this process huge data.
    How could I actually start a parallel processing using this BAPI ?
    Thanks!

    Hi,
    Check this example..This code is there in the abap help..
    Press F1 on the CALL FUNCTION key word..
    Then choose the link..
    "CALL FUNCTION func STARTING NEW TASK taskname. "
    There you will find the code that I mentioned here...
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to Transaction SM59 -->
    Create a new session
    CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.
    Using RFC groups to parallelize function module calls (RFC parallel processing)
    TYPES: BEGIN OF TASKLIST_TYPE,
           TASKNAME(4) TYPE C, "Task administration
           RFCDEST LIKE RFCSI-RFCDEST
           END OF TASKLIST_TYPE.
    DATA: INFO LIKE RFCSI, C,  "Message text
          JOBS TYPE I VALUE 10,  "Number of parallel jobs
          SND_JOBS TYPE I VALUE 1,  "Sent jobs
          RCV_JOBS TYPE I VALUE 1,  "Received replies
          EXCP_FLAG(1) TYPE C,  "Number of RESOURCE_FAILUREs
          TASKNAME(4) TYPE N VALUE '0001',  "Task name administration
          TASKLIST TYPE TABLE OF TASKLIST_TYPE,
          WA_TASKLIST TYPE TASKLIST_TYPE.
    DO.
      CALL FUNCTION 'RFC_SYSTEM_INFO'
           STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT
           PERFORMING RETURN_INFO ON END OF TASK
           EXCEPTIONS
             COMMUNICATION_FAILURE = 1
             SYSTEM_FAILURE        = 2
             RESOURCE_FAILURE      = 3.
      CASE SY-SUBRC.
        WHEN 0.
    Administration of asynchronous tasks
          WA_TASKLIST-TASKNAME = TASKNAME.
          CLEAR WA_TASKLIST-RFCDEST.
          APPEND WA_TASKLIST TO TASKLIST.
          WRITE: /  'Started task: ', WA_TASKLIST-TASKNAME COLOR 2.
          TASKNAME = TASKNAME + 1.
          SND_JOBS = SND_JOBS + 1.
          JOBS     = JOBS - 1.  "Number of existing jobs
          IF JOBS = 0.
            EXIT.  "Job processing finished
          ENDIF.
        WHEN 1 OR 2.
    Handling of communication and system failure
        WHEN 3.  "No resources available at present
    Receive reply to asynchronous RFC calls
          IF EXCP_FLAG = SPACE.
             EXCP_FLAG = 'X'.
    First attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.01' SECONDS.
          ELSE.
    Second attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.1' SECONDS.
          ENDIF.
          IF SY-SUBRC = 0.
            CLEAR EXCP_FLAG.  "Reset flag
          ELSE.  "No replies
            "Endless loop handling
          ENDIF.
        ENDCASE.
    ENDDO.
    Receive remaining asynchronous replies
    WAIT UNTIL RCV_JOBS >= SND_JOBS.
    LOOP AT TASKLIST INTO WA_TASKLIST.
      WRITE:/   'Received task:', WA_TASKLIST-TASKNAME COLOR 1,
            30  'Destination: ', WA_TASKLIST-RFCDEST COLOR 1.
    ENDLOOP
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
        IMPORTING RFCSI_EXPORT = INFO
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2.
      RCV_JOBS = RCV_JOBS + 1.  "Receiving data
        IF SY-SUBRC NE 0.
    Handling of communication and system failure
        ELSE.
          READ TABLE TASKLIST WITH KEY TASKNAME = TASKNAME
                              INTO WA_TASKLIST
          IF SY-SUBRC = 0.  "Register data
            WA_TASKLIST-RFCDEST = INFO_RFCDEST.
            MODIFY TASKLIST INDEX SY-TABIX FROM WA_TASKLIST.
          ENDIF.
        ENDIF.
    ENDFORM
    Thanks,
    Naren

  • Help with State Machines

    I am implementing my application using state machines, and I have the following problem.
    1. I have an initialized state that will initialize my controls.
    2. Next I want the next state to check for user input.(boolean button will be pressed to determine which state is next).
    3. In one of the states, I want the user to be able to change the initialized values, and afterwards go back to the user input state, to determine which state is next
    I have implemented the initialize state as well as the user input  state(use event structure for that state), but I do not know how to let the user be able to change the values of my control , then the user acknowledges the change, and the state goes back to the user input state waiting for the next state.
    Thanks for any help
    Solved!
    Go to Solution.

    Thank you Ravens Fan, I did not really understand your message. I have a simplified version of what I am trying to accomplish.
    1. I have 3 controls and one indicator
    2. When the Vi is run , the controls should initialize to the values in the intialize state. The next state will now be the user input state.
    3. When at the user input, the user can either press the "analyze button" and the result will be displayed in the indicator. or the the stop button to stop the simulation, or
    4. The user can change the values of the control, after all the controls have been changed to his desired values, he can then press "accept values" and the state goes back to the "user input".
    Thank you for any help
    Attachments:
    example.vi ‏26 KB
    example control.ctl ‏5 KB

  • Given up on State MAchines please help...

    hello everyone,
                         I have given up on state machine.. and trying to compile this simple program...
    I am unable to compile this code, and seriously at my wits end how to debug this code.. can anyone please suggest me what is wrong/???
    Now on LabVIEW 10.0 on Win7
    Attachments:
    Drill_Rig_v001.vi ‏152 KB

    Ray.R ... I am sorry... I had initially decided to perform this task using state machine... But then I quit...
    And hence, I thought of using simple case structures...
    This is what I want actually...
    I would like to create a VI in which the start condition is a cylinder at position A. Once the position is confirmed, there is a motor which should be turned ON via LV.
    Once the motor is ON, the cylinder should go to position B, once the cylinder is at position B, a counter should start... The cylinder has an attachment in the front which does a particular task
    and once the task is finished, the cylinder should go back to position A and the system should shut off...
    And in that process, I am totally confused and don't know what to do...
    http://forums.ni.com/t5/LabVIEW/how-to-have-a-while-loop-inside-a-case-structure/td-p/1241346/page/2
    this is the forum where I had been discussing about SM.... also posted my VI ter.. but posting it again here...
    Now on LabVIEW 10.0 on Win7
    Attachments:
    Soda Vending MAchine.vi ‏211 KB

Maybe you are looking for

  • Purchase Requistion - Number Range

    Hi, Can we define alph numberic (ABC0001) for number range (internal / exerternal) for purchase requistion. If yes How? regards

  • Integrating COM and CORBA Objects in CFML Applications

    This question was posted in response to the following article: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24 -7fd2.html

  • Help Solving PDE

    HI All, I m trying to solve the attached equation, but I am not able to crack it in LV. I would really appreciate some help. Attachments: Eqn.png ‏9 KB

  • Moving KM data (incl. for ex. modified)

    Hi, I would like to move KM data of a document store to another folder including all metadata. It's important, that the original author and modified date are not changed. The data should be moved in the same portal for example from /room_extensions/r

  • Not receiving IM notifications from one contact

    So I've tried pretty much all the fixes for this, Gone into Conversation settings and made sure that "Notify me" is selected. Used /alertson, Still nothing.... Even reinstalled skype completely and still NOTHING. If anyone has any theories it would b