In effort to maintain the understanding of what I have used for years, I use the bit Set/Reset sequence control.
SeqStep StepCondition StepControl
Step1 PB1 Step2
--] [-----------] [------------+----(S)
|
| Step1
+----(R)
keep all the sequencing together, then later do something like this
Step1 WaitOnOper_LAMP
--] [-------------------------------( ) NOT (S)
If I need to know the step number, I have some small code that equates a SET bit to the number of that SET bit.
Some processors make this easy, some not.
I do like the INT/DINT MOVE style sequencing, but I try to keep a program-style until it proves lacking.
SeqStep StepCondition StepControl
StepCt PB1 GoStep2
--]=[-----------] [----------------[MOV 2 StepCt]
1
StepCt WaitOnOper_LAMP
--]=[---------------------------( ) NOT (S)
1
mk47 If you are really concerned about speed you can use a bit for each step instead of an INT comparison.
Bit controlled sequences may be faster, I've never done a comparison. Nice thought.
As others have said... Find out what your customer wants??
Your customer is the USER/MAINTAINER of your machine - whether you build the machine for your own company or you sell/deliver to another company/department/individual.
If you deliver what they want/need then you have a happy customer -- and likely a repeat customer.