OK, upon further conversation with the customer, I have a better picture of what they want.
I will running one recipe at a time, based on which recipe the operator chooses. The recipes will have the same code, but an operator will be able to select for each recipe:
1. Which of the 4-inputs will trigger the start of the code.
2. Which of the 4-outputs will be controlled by the code.
3. Whether the code is dependent on a pulse train from an encoder, or time based.
This is for the application of glue to substrate.
So, what would work best for the application; a subroutine, task or program?