I am wondering if there is a way to set up an HMI for simulation to use for training purposes. We use Vision for our SCADA system and we'd like to use it to train new hires and existing employees when we make changes or expand.
You can run Ignition two hours at a time in trial mode. Just stand up an isolated copy of your system in a VM that your training group can use. You may want to also set up simulated devices and include a copy of your database, for the best training experience.
It depends upon what type of training you want, a plant operator training or Ignition configuration training! Ignition configuration training can as well be given on trial version of Ignition as mentioned by Trumel and Inductive University courses.
For plant operation training, we had developed a simulation module for plant process simulation connected with Ignition. Plant models can be written in Fortran. However, with newer versions of Ignition Its possible to develop such simulation modules in Python scripts to drive the Ignition database variables cyclically. Alternatively, Simulation models can be developed in NodeJS connecting to Ignition. The plant models depend upon what type of plant you have, a manufacturing plant or a process plant.
So a plant modelling software needs to be developed that drives the Ignition tags database and there by the HMI. It's possible to develop such models with first order approximation of the plant processes as its requirement is for operator training and not a digital twin model for control system tuning or plant pre commissioning etc.
The type and number of PLCs that you are using and the complexity of logic and number of IOs and the functionality of packaging plant working mechanism will determine the scope and fidelity of models that will meet your training requirements. Of course, the scenarios of training such as normal operation, fault conditions to be simulated that trigger alarms etc are also an important factor.
One test PLC would probably be enough for a simple HMI trainer. You can use the same PLC programs that you use in production, you just have to simulate the IO. I often create simulator routines in a PLC to simulate IO when I'm initially developing the controls for a new system or project.
The number of IO points (OPC tags in the Ignition tag DB) should ideally be same as in real plant. It would be ideal to have same number of PLCs with its logic running on them in the simulator, but the cost involved may be prohibitively large. To keep cost low the PLC logic can also be simulated keeping the OPC tags same as in plant. Of course, it would increase software development effort to simulate PLC logic as well as the plant mathematical models (digital twin of the plant). However, PLC logic can be a simplified block logic level simulation.
If you want a full system trainer then you need to drive all IO thru realistic models. If you want to train on scenarios such as start-up/shutdown, normal operation, emergency operation, malfunctions that trigger each configured alarms. How can one simplify the whole system to a simple trainer!