06-13-2013 12:58 PM
Hi, My program can work in two modes. Auto and Manual
In Auto mode it suppose to automatically follow a sequence and so I used a basic State Machine . But when the operator click on the manual mode the program should step into Manual mode. I think for this part I need to use event but I don't know where to use this event structure. Out of the case structure and everytime I run through my sequence I also check for that event or Inside the case structure
I greatly appreciate if youd show me with a basic example how I can implement this.
06-16-2013 09:50 AM
Generally, one would structure programs like these using parallel loops, one for the Event Structure (so it will always "be responsive"), the other for whatever else you are doing. There are various ways to get information from one loop into the other -- you need to be a little careful, as you can get into a "race condition" where both loops are trying to change the same thing at more-or-less the same time.
If your loop-to-be-controlled is written so that it has an (internal) control that governs whether it is in Automatic or Manual mode, you can simply build an Event case that looks at a (separate) control, say a switch that has a Manual and Automatic setting, monitoring a Value Change for this switch. In the Event loop, you can (safely) use a Local Variable to change the Manual/Automatic control to the appropriate state.
06-16-2013 12:57 PM
Please explain in detail, "manual mode"?
06-16-2013 01:53 PM - edited 06-16-2013 02:00 PM
a producer consumer design comes to mind, though you can make it a state machine with some thought on how you want to process it...
06-16-2013 09:33 PM
slightly elegant...