Hi, I’m in the process of making projects for several HMIs. I was wondering if there is a way to make a project template that can be used on all of the projects? I need to be able to update all of the projects by only changing something on the main project template, if that makes sense. Please let me know!
When you say for several HMIs, I’m assuming these are using Ignition Edge? You could use the EAM installed on a dev server to push project changes out semi-automatically if you have the EAM installed on each HMI. Otherwise, the sync process would need to be manual*.
*you could use a file synchroniser to sync up project files, but tags would be a manual process
In this case, the project “template” simply becomes a master (but standard) project that you use to restore to any of your HMIs. Does that help?
Are you hosting all of these projects on the same gateway? If so then sounds like you want to take a look at Project Inheritance.
It works in mostly the same way you described: you create your “template” project, and have the other projects inherit from the template. Changes made to the template propagate to the inheriting projects. The exception being cases where a resource was overridden. In that case the project will use it’s own overridden version of the resource.
Are these HMIs identical, just pointing to different devices? If so, one project with indirect addressing may work well. If they are on different servers, edit one and use EAM to send updated project to other servers.
If there are other differences, but some identical content, project inheritance is the way to go. Projects on the same server inheriting from a “template” project will automatically receive changes. If projects are on different servers, this still works, but you’ll need to send updated master project to other servers using EAM module (can be sent on demand, or synced on schedule). EAM module respects trial mode, so you can test it out to see how it works for you.
As @nminchin notes, you will have to copy tags from one server to another separately from the projects if you have multiple servers. EAM can send tags too.
I think Project Inheritance might be what I’m looking for. The projects for the HMIs will all be on the same gateway and they will be almost identical. Each HMI will display the same, standard project, but each HMI might show slightly different information for some things.
Regardless of the different information, I just need them all to display the same buttons and the same alarm journals. So I wanted a master template where if I need to change the name or color of one of the buttons or the layout of the project, I can just change it in the master template and have the rest automatically updated.
A thought occurred. If your HMIs all should use the same components, and only the backing data is different, then you wouldn’t even need project inheritance. Indirect tag bindings would probably do what you’re looking for.
Again, this would only work if all of the HMIs are using identical components. If not, then project inheritance it is.