This is in answer to comments by Paul F. Sullivan

<The only thing I'd do differently is to use type def enums for the
process state and for the task queue to catch misspellings during the
programming phase.>
This is just a programming style preference, either way will work.  I put a
pop-up error message in the default case to catch misspellings or bad cases.
The message displays the incorrect case string which makes it very easy to
troubleshoot.  I previously used enums in the "good old days" when case
statements did not accept strings,  but I grew disenchanted with them
because when I added a new value to the enum, the state case structure case
labels would sometimes shift to ones which were incorrect, and I'd have to
continually check every case and manually adjust the case names.  Perhaps
this is not a problem in LV7.0, I haven't bothered to check it because the
strings work fine.

<I'd argue that your task loop is really a state machine that handles
the "computer program states" you reference in your first sentence. >
My Task loop is not a state machine because it simply pulls strings off of
the queue and executes the corresponding cases that matches the task string.
There is no shift register used to store strings in the Task loop and
therefore the "next task" is not a function of the "current task" as
required in state machines.

Lewis Drake
Process Automation Corporation
Belle Mead, NJ
908 359-1011
www.processauto.com



Reply via email to