So many questions
Do you have one stored recipe, or several?
- Is the sequence the same for all recipes, or variable?
- Do you want to program the recipes from the PV, or just have them in the PLC code?
- Does your sequence have prompts that the operator must respond to? Is there a time limit for response?
- Do you plan to have traditional S88 states or Idle |Running | Holding | Held | Restarting | Aborting | Aborted ? Or just a simplified version of Idle | Running | Held | Aborted. (i.e, no need to do a controlled stopping, just stop the flour blower, RAL & chute, turn off liquid pumps, close valves) ?
- What security / whodoneit tracking?
- Any lot / RM tracking?
Basic premise: a sequence consists of ACTIONS and TRANSITIONS. Separate the two when coding.
"easy fault find" == tell the operator what each transition is waiting for.
Making the sequence work is the easy part. How to let the operator know when you've fallen from the "straight and narrow" ("Flour overfill") and how to guide him to recovery -- that's why we get paid the big buck.
A MicroLogix 1400 is not a lot of room to play in, depending on your recipe requirements.
You might consider re-inventing Rockwell's Logix Batch & Sequence Manager (LBSM). It's a PlantPAX add-on (i.e., free), but I'm not sure if it has a PVP component. I did something very similar to LBSM decades ago, using SQO commands, both to drive my outputs, the process setpoints and the sequence. Each action ("add flour", "add liquid", "mix") was a row, with a setpoint and a series of checkboxes.. Each checkbox corresponded to a row/column in a bit array, and indicated which action(s) wre being performed on which step. It could do things simultaneously, like add Flour B to the weigh hopper, adding liquid to the mixer, while also doing timed Mix1). The column (step) that was active was highlighted. Again, look at Rockwell's LBSM documentation. What I did looked very similar, although the implementation was simpler (and open).
You are correct to focus on the display. How you want to present what's happening to operator will drive how you code it. An SFC-style display as you describe ("flow chart") is another option, but not necessarily as flexible, if flexibility is a requirement.