# Recipes on Ignition EDGE gateway

**URL:** <https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005>\
**Category:** Ignition\
**Created:** [January 20, 2019, 12:11pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005 "2019-01-20T12:11:33Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [January 20, 2019, 12:11pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/1 "2019-01-20T12:11:33Z")

</div>

Does anybody have an idea, how to use/manage fairly simple recipes on the Ignition Edge gateway (where are no database connections and no transaction groups), installed on the panel PC (Win10) on the machine?

The customer has a welding machine, where they weld various different parts. Each part has its own tool which has an ID number. When they change the tool, the various setting on the machine (which is controlled by Siemens PLC) must be changed according to the ID number.

If I could use the SQL database and transaction groups, that wouldn’t be a problem (I’ve done it before).  
But on Edge I can’t use that, so what other options are out there?

I’m sure that I’m not the only one who stumbled upon this…?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 20, 2019, 2:43pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/2 "2019-01-20T14:43:47Z")

</div>

Consider maintaining a dictionary of dictionaries in a script module. Initialize the dictionary from a JSON or XML file at the top level of the script module. Save the dictionary back to the file whenever your UI makes changes or additions. Recipe selection and viewing would simply look up the relevant information in that dictionary and write to your tags.

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [January 20, 2019, 5:00pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/3 "2019-01-20T17:00:32Z")

</div>

Thanks, @pturmel.  
I found this: [TinyDB](https://tinydb.readthedocs.io/en/latest/intro.html)  
Probably no one used until now, because it needs python 2.6+. But with Ignition 8 it will be possible…?  
Maybe something similar exist already for python 2.5?

---

<div class="post-metadata">

**Author:** ![MMaynard](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mmaynard/32/3366_2.png) [@MMaynard](https://forum.inductiveautomation.com/u/MMaynard)\
**Post date:** [January 20, 2019, 7:17pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/4 "2019-01-20T19:17:49Z")

</div>

I haven’t used edge but can’t you just use a dataset tag?  
How often do the recipes change?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 20, 2019, 7:39pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/5 "2019-01-20T19:39:29Z")

</div>

Ignition includes the [org.json](https://github.com/stleary/JSON-java) reference implementation. I’d be inclined to use that.

---

<div class="post-metadata">

**Author:** ![witman](https://avatars.discourse-cdn.com/v4/letter/w/d2c977/32.png) [@witman](https://forum.inductiveautomation.com/u/witman)\
**Post date:** [January 20, 2019, 11:34pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/6 "2019-01-20T23:34:03Z")

</div>

A dataset tag should do the trick, assuming it can be used the same way on Edge. It’s also easy to backup/restore to/from CSV if needed (we have had memory tags lose values once on an Ignition server).

---

<div class="post-metadata">

**Author:** ![craigb](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@craigb](https://forum.inductiveautomation.com/u/craigb)\
**Post date:** [January 21, 2019, 2:44am UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/7 "2019-01-21T02:44:31Z")

</div>

Use the DB’s in the PLC to store the recipe ?

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [January 21, 2019, 5:27pm UTC](https://forum.inductiveautomation.com/t/recipes-on-ignition-edge-gateway/22005/8 "2019-01-21T17:27:11Z")

</div>

I knew that asking the forum is a good idea. 😃

> [@MMaynard](#):
>
> I haven’t used edge but can’t you just use a dataset tag?  
> How often do the recipes change?

I didn't even think of that. I'll try it...

> [@craigb](#):
>
> Use the DB’s in the PLC to store the recipe ?

That is the way we did it before we started to use Ignition. We didn't like it, but if there is no other way, then... yes.

I've done some preliminary testing with TinyDB in Ignition 8 and so far it's looking pretty good.  
If the project comes after the release of the Ignition 8, then I'll probably use the TinyDB. If not then dataset tag....
