Project creation automation strategies

We have several projects where the ignition app has been at some level very cookie-cutter and standardized. There are lots of differences from site to site. They're all unique, but they all use the same elementary "building blocks". In fact, our gateways are set up with a "master" project that holds all of the common resources and a site specific project that inherits the master project and adds all of the resources unique to that site.

We've started auto-generating PLC code, and now that we've been approved to use 8.3, I've been tasked with leading the charge on dovetailing the ignition app generation as well. I'm still mulling over the design requirements, but so far, I want to automate as much as possible. This includes:

Device connections (we have several per site, and they're unique)

Tag groups

Tags

Site specific Views

So far the main issue I've run into is generating JSON files and injecting them into the ignition data folder. I think I can do that fairly safely with tags, tag groups, and views...but what about device connections? I know that device connections can be generated internally with scripting, but I'd rather not have multiple steps and different strategies for project creation. I was looking at the JSON files for device connections and I noticed there's a resource.JSON file in each device connection folder that appears to have some auto-generated content in it like creation date and some other things.

Among my questions is do I need to generate that resource.json file or can I generate the main device definition file only?

Is it possible to generate the files I need externally or should I use internal scripting with perhaps a generated "project setup" file as input data?

Why generate the files at all when you could just use the api and make a wizard to set up everything via API?

Cough...

Like a spreadsheet import tool.....

Do keep in mind that, except for Views, the items you list are gateway-wide resources, not project resources.

Appreciate the context of your comment, but I’m trying to erase spreadsheets from all of my workflows given how easy it is to make a purpose built tool these days. Say goodbye to spreadsheet errors and appalling microslop software.

CSV files it is!

2 Likes

Meh. Lots of engineers get training in finance, if not an actual MBA, and you can't pry spreadsheets out of their fingers. That's why I made my import tool tolerate so many different structures of source spreadsheets.

A well-organized spreadsheet is a really effective tool for a single source of truth, while carrying meta data that is not relevant to Ignition. Purpose built tools struggle with that.

2 Likes