Machine Learning in Ignition

A couple of my Perfect Abstractions Ignition developers wrote an article about Machine Learning in Ignition. I’d like to share it and know what other’s think.

The article is here:


Good article, thanks for posting. I’ve been dipping my toes in machine learning lately with a view to doing something with the masses of production data and parameters we are collecting. Ignition seems a perfect place to both collect and process the data. I assume with the interest your developers are showing, a module is perhaps in the pipeline?

For those interested in an overview of machine learning, Kevin McClusky and I will be doing a session on ML at the ICC in September.

And if you have questions on ML projects before then, feel free to contact us. Kevin has implemented some interesting ML projects in Ignition, and my Master’s in CS specialized in machine learning, AI, and data mining.

We may develop one. We are interested in feedback and ideas for now.

This is how I usually end up seeing it. :wink:


Heh, Randall knows the truth about ML. :joy:

Thanks @nmudge enjoyed the article. Since I work in wastewater, especially enjoyed your example :slight_smile:

For us, we would find an extreme amount of value in ML predicting the impact on our facility due to predicted rainfall, and would also want to use it to predict treatment impact due to changing conditions. There are some tests that take 5 days to run, so wastewater so there are a lot of times you don’t know things are getting worse until too late. Would love to see more ML in wastewater!

1 Like

Great to know @hamlinjr !

1 Like

I do alot of oil and gas monitoring. I would be interesting in seeing what ML analysis could provide for my customers. I have a large amount of data that gets stored but outside of viewing in trends, we really dont do any analysis on it.

If we have a python file with ML def that we place in the userlib for python, then can we not use these def in python scripting?
Is using a Java based ML program for introducing classes and methods into the ignition environment is recommended path for ML in Ignition?

You can definitely use python files, but they need to be compatible with Ignition – Jython 2.5 (not CPython).

What is the difference between Jython 2.5 and Python 2.7?

All the differences between Python 2.5 and Python 2.7, plus all of the limitations of the Java environment, plus all of the advantages of the Java environment. Primarily, the biggies are:

  1. No support for any addon to CPython that depends on native C-code. That means no numpy or anything like it.
  2. Direct support for java classes and objects as if they were jython, including automatic conversion of netbeans compliant getter/setter methods into python properties.
  3. Jython strings use Java’s UTF-16 storage of characters instead of python2’s undifferentiated byte-oriented storage, eliminating the biggest motivator for the creation of python3.
  4. Java array types, including byte arrays, are available through the jython-only “jarray” module.
1 Like

Just wondering, why do we need a full stack Python engine inside Ignition which may overload and affect the performance?. Can't we push the data outside, process it and pushback the results to Ignition as JSON data?. For presentation we can always use a Javascript engine like FB's ReactJS.

First ask your customers, their wish list. Design a questionnaire and get their feedbacks. This will help you to decide some goals. Interact with some institutions who use machine learning to make some good money :slight_smile:

You absolutely can, and many of our users who do ML and analytics with their Ignition data do just that.