M
At 13:49 08/08/01 -0400, Anthony Kerstens wrote:
<clip>
>We have a difference of _opinion_ on programming style.
I am interested in your opinion, which is why I am writing.
>I prefer to
>use plenty of documentation in my logic to segregate sections of code
>and memory (as well as make use of AB's file provisions, when programming
>AB).
>I manage to create complex, yet highly organised programs in this manner,
>and so I neither see a need nor do I prefer to use L's and U's.
<clip>
How exactly do you typically control a sequential operation? I will
briefly describe a hypothetical application which we can use as a reference
problem:
1) A single sequence of 15 steps.
2) The sequence controls roughly half a dozen pneumatic valves, and
reads a dozen cylinder switches. Consider the machine to be some form of
pick and place with some additional devices associated.
3) Several of these steps (say 7 and 8) must be able to be repeated
an arbitrary number of times (a form of looping). The number of times these
steps are repeated will depend upon the product being manufactured (looping
a variable number of times).
4) The sequence must be able to be "aborted" (a form of branching)
at certain steps. (E.g. jump from step 6 to step 10). This may be due to
information discovered during the cycle, or due to operator intervention.
5) Manual control consists of allowing you to single step the
sequence in forward or reverse in the normal sequence of operations.
Auto/manual transfer can happen at any point in the sequence.
6) A special "set-up" mode allows you to control one or two special
elements of the machine in an arbitrary fashion, while still allowing the
normal sequence of operations to be resumed at any time. This form of
discrete manual control is limited, in that it isn't allowing any states not
normally assumed by the standard sequence.
I think the above example would cover most of the typical situations
encountered. It covers, sequential operations with looping, branching,
single step manual, a special "set-up" mode, and modifying the sequence
behaviour according to stored information or conditions sensed during the cycle.
What is the method you find most suitable for controlling the
sequential function of machines such as the one described above? I have seen
a number of different methods - I've used a number of different methods.
What would you consider the best one to be, and why? What would you consider
the worst one to be, and why?
If anyone else besides Mr. Kerstens would like to express their own
opinions I would welcome that as well. But please, let us not have any
suggestions of grafcet or flow charts. That would be cheating!
**********************
Michael Griffin
London, Ont. Canada
**********************
<clip>
>We have a difference of _opinion_ on programming style.
I am interested in your opinion, which is why I am writing.
>I prefer to
>use plenty of documentation in my logic to segregate sections of code
>and memory (as well as make use of AB's file provisions, when programming
>AB).
>I manage to create complex, yet highly organised programs in this manner,
>and so I neither see a need nor do I prefer to use L's and U's.
<clip>
How exactly do you typically control a sequential operation? I will
briefly describe a hypothetical application which we can use as a reference
problem:
1) A single sequence of 15 steps.
2) The sequence controls roughly half a dozen pneumatic valves, and
reads a dozen cylinder switches. Consider the machine to be some form of
pick and place with some additional devices associated.
3) Several of these steps (say 7 and 8) must be able to be repeated
an arbitrary number of times (a form of looping). The number of times these
steps are repeated will depend upon the product being manufactured (looping
a variable number of times).
4) The sequence must be able to be "aborted" (a form of branching)
at certain steps. (E.g. jump from step 6 to step 10). This may be due to
information discovered during the cycle, or due to operator intervention.
5) Manual control consists of allowing you to single step the
sequence in forward or reverse in the normal sequence of operations.
Auto/manual transfer can happen at any point in the sequence.
6) A special "set-up" mode allows you to control one or two special
elements of the machine in an arbitrary fashion, while still allowing the
normal sequence of operations to be resumed at any time. This form of
discrete manual control is limited, in that it isn't allowing any states not
normally assumed by the standard sequence.
I think the above example would cover most of the typical situations
encountered. It covers, sequential operations with looping, branching,
single step manual, a special "set-up" mode, and modifying the sequence
behaviour according to stored information or conditions sensed during the cycle.
What is the method you find most suitable for controlling the
sequential function of machines such as the one described above? I have seen
a number of different methods - I've used a number of different methods.
What would you consider the best one to be, and why? What would you consider
the worst one to be, and why?
If anyone else besides Mr. Kerstens would like to express their own
opinions I would welcome that as well. But please, let us not have any
suggestions of grafcet or flow charts. That would be cheating!
**********************
Michael Griffin
London, Ont. Canada
**********************