Connenting a simulation with Ignition

Hi!

I´m a chemical engineer who works developing dynamic simulations. As a side project, I would like to connect a simple model (maybe a tank, pump and 2 valves) and try to command the simulation with ignition.

I have the maker edition, but I´m wondering which would be the best way to connect my model with the ignition project. Using expression tags or query tags?

How can I send parameters like valve status to the simulation? I'm pretty comfortable from the simulation side but new to ignition.

Any advice will be welcome!

I would like to connect a simple model (maybe a tank, pump and two valves) and try to command the simulation with Ignition.

To be clear: the simulation is in software? You don't have any hardware?

Did you find this doc?

There's no mention of Maker in there so I'd be hopeful that it will work with that edition.

Yes, only software. I'm using the simpy and fluids libraries. I could expose the data through TCP or JSON or database.

My vision for this project is to try to create an operator training simulator or maybe another dead end project to my bucket list :smile::smile:

Ignition normally talks to real-world devices, the things you are simulating, via one or more industrial protocols. Some branded, some aiming to be universal. For Ignition to "feel" like a real system, your simulation should pretend to be an industrial controller that has one of Ignition's native protocols. The simplest would probably be a python OPC UA server implementation, but IIRC, there are problems.

You can have your simulation expose a web API for Ignition to poll, but the Ignition side will have a lot more custom code than a real SCADA would have for a real device.

If you are working in a commercial environment, absolutely do not use Maker. If you are in an educational environment, you may be ok. Read Maker's license carefully--it is quite restrictive. And I am not a lawyer, so read the license especially carefullly.

Note that many development uses work just fine with Ignition's two-hour trial mode, resetting as needed for testing.

I had developed such a simulation tool and integrated it with Ignition thru sockets. The plant process was simulated and Ignition IO points were stimulated with this external simulation tool. This tool has a simulation process variables data base and an executive for controlling the simulation such as run/freeze/snapshot/backtrack etc.

It should be possible to develop such a simulation using scripts within Ignition for simple processes plant. I don't know if its possible to run scripts in Maker edition or not.