Managing Recipes with varying number of steps

Hey all,

I've been playing with doing some recipe management via Ignition lately and while I can get simple recipe types to work fine with a standard transaction group I'm having a hard time wrapping my head around doing more complex forms of recipes. Mainly, recipes that can have varying numbers of steps. For example, some of our equipement has multiple steps (or rows) consisting of multiple functions (columns). Something like this:

So, the number of steps on a recipe can change and the information associated with that step can also change. This makes every recipe basically a table in the database. Depending on the equipment we can have many many recipes.

I’m not sure what the best way to handle this in Ignition would be? It doesn’t seem like something a normal transaction group would be able to handle (but I’m not very fluent with transaction groups so I may be wrong). Is there a transaction group that handles entire tables? I’m just wondering if anyone else has run into something similar and would be willing to give me some insight into what to do with this situation. Thanks!

A transaction group can certainly handle this case. Every recipe will have a different table and a different “Standard” transaction group. Hopefully the PLC will trigger you when it needs the next step so we can use that as the trigger of the transaction group. So the group will only run when the PLC needs another step. You can use the step value to get the appropriate row out of the database table by using the “update/select custom row” using the where clause:stepnum = {Path/To/StepTag}

Ok… I see what you’re saying, that’s a ton of tables and transaction groups though. I guess I could condense it by having a recipe number column and a step number column and have the select clause say where recipenumber = XXX and stepnumber = XXX. Then I could put everything in one table.

Is there also a way to make transaction groups indirect? For example, we have 20 some smokehouses, it would be most ideal if I could have one transaction group set up for a smokehouse and then call that transaction group with indirect tag paths to whichever smokehouse is calling for a recipe change.

If I set it up the way you’re saying I’ll have 20 smokehouse transaction groups X 50+ Recipes = 1000+ Transaction groups… wow…

Perhaps there is a better way to do it through scripting?

There is no way to make transaction groups indirect. In this case you only need one transaction group per smokehouse if you add the recipenumber and stepnumber to the database table. Scripting is another route you can go down. You can do everything in a single tag change script.