Programmatically import a project


we’re working in a distributed environment with multiple gateways. the common project is managed in SVN for version control and in some occurences we have other (unrelated) projects running on the same gateway.

To update the project to a specific branch/version we currently stop the gateway, fetch the code from the SVN branch we need into the ignition projects folder, and restart the gateway.

The problem with that approach is that it also restarts unrelated projects.

Is there any way to programmatically perform a project import without restarting other projects or PLC communication ?

I looked at EAM which would allow me to push a project simultaneously to multiple gateways but it wouldn’t allow me to fetch the code from SVN nor pick and choose versions, would it ? (i.e push project version 3.1.1 onto gateway 1 and project 3.1.2 onto gateway 2)

I saw a webinar from Ignition folks where they would just overwrite content in the project folder and at some point ignition would pick up that there’s been a change but it doesn’t seem very deterministic.

Anyone has an idea of how to pull content directly from the versioning system ?



It's not totally deterministic, Ignition only looks for changes every 5 minutes, but you can increase this time. In the future there will be a way to explicitly trigger this but it seems this has been grouped with other project system changes and may not be delivered until 8.2.

Avoiding a gateway restart will avoid the break in communication, but if you make changes to a parent project all dependent projects must necessarily be restarted. There's no way around that.

Thanks Kevin for your very quick answer.

Re: explicitly triggering a project reload in 8.2. Any idea when this will become available ? (without asking for a commitment - just a rough idea).

while looking for a way to change the scan frequency, I stumbled upon these posts:
Controlling project file scanning without restarting - Ignition - Inductive Automation Forum
Force designer to read from projects on server on command - Ignition - Inductive Automation Forum

and specifically this answer from you and PGriffith about how to change the scan frequency:

We currently don’t have any way to “demand poll” for changes (though it is on our ‘to do’ list).

The best option at present is providing a system property in ignition.conf to increase the scan frequency from the default 5 minutes to something more aggressive. The downside is basically just increased CPU load as we scan more frequently.

I'm re-posting to help others find it.



I don't really know... 8.2 is probably more than a year away. It's basically still just a collection of ideas at this stage.

Thanks Kevin.

I’ll give the scan frequency parameter a try in the meantime.