Dear IA Team,
Could someone please share if IA plans to develop the AI agent for Ignition development?
I am willing to pay when charged through a token-based system.
Not currently.
What kinds of tools do you imagine would useful?
I've seen the demos from e.g. HighByte, but so far everything just seems to be kind of... cutesy demo fodder and not really useful....
originally this post said MCP Server but was edited while I was responding.
Sorry, I changed it to "AI agent" as it has a more correct meaning. In an ideal case, the AI agent will be integrated with the designer, and you just need to prompt it. "Add two buttons for start and stop the motor" or "Write a tag change event script to log machine status." To access it, you should have an API key from the Ignition portal.
Sounds like "vibe" coding for ignition.
Sounds neat in theory. I wouldn't hold your breath.
Don't get me wrong, there's a handful of us who are AI enthusiasts and we're excited about what is or might be possible, and we're watching the space. But it's moving too fast right now to realistically do anything.
We have the same discussion within the PLC communities. AI is anything but intelligent right now. Its a data scraper at best, and has no actual logical intelligence other than what its fed. Garbage in is garbage out, and plenty of garbage sources it is gleaning from.
Can it write repetitive code...sure. But beyond that, we're years away from any practical application. As an example, the motor start/stop question. What color, what size, what permissive, what location, what text, what interaction with other data, etc. By the time you define all the criteria for AI, you could have built the button.
?? I would argue that these questions (& other research) are easily answered by today's AI with a generic 'best-practice' prompt.
That said, I agree that we're 'not quite there' in terms of usefulness in Automation Automagic. Any request for PLC logic yields especially problematic code.
The AI garbage now flooding YouTube is referred to as "AI Slop".
What would the industrial automation equivalent be called?
Point being, by the time I answer all the questions, I could have built my own reuseable button. And whats scary, is that if AI gets to that level, then people that should not touch automation will be calling themselves controls engineers. Much the way people that use Chatgpt to write songs or reports or draw paintings are calling themselves artists or business people. Screw up a song, it doesnt maim or hurt people. Reverse a start and stop button on an HMI, and the potential exists.
I thought it will already be called "SkyNet". (Funky tense there...)
I've done a bit of experimenting using Claude Code for this - you basically just point it at your ignition project folder, and give it instructions on the command line and it will go and alter all the required files for you.
It's not too bad with the actual coding, but look and layout and design are pretty terrible, so far. But maybe it would work if you had existing stuff that you could get it to add to or copy.
(Disclaimer - I gave up and went back to hand coding. So don't get your hopes up too much just yet!)
a generic 'best-practice' prompt.
Please enlighten me because every single industry and even customers of mine within said industries have a totally different definition of what 'best practice' is.
What kinds of tools do you imagine would useful?
Almost none because the QA is awful and you basically have to go through and check everything yourself anyway. I've never used AI on a SCADA application and sincerely believed I've saved myself even a moment of time. The only realistic time saving application I can imagine is very large scale tag generation which is something Ignition just isn't very good at out of the box, and I can only assume you guys are working on that anyway.
The best use I can think of that is repeatable and lowest risk of issue is a simple scripting debugger and/or basic editor.
For example you put in some scripting standards you want to maintain. camelCase for variable names, Variable names consistent across functions, use of space/tab, how dictionary are formatted, Use of comments and sectioning of functions. And more. you select the function and AI then gives you recommendations to adjust to that standard you setup. This helps keep all your coding consistent. --- what would be beneficial compared to what you can do currently would be ability to access all functions within a context window Or like the "search" function you can say hey find in this project where I am not following my programming format..Or search through and find where I am repeating the same function and make sure they are consistent and or convert to scripting library function..
I personally have found AI to be very helpful especially when it comes to scripting functions, SQL, and some transform scripts. For instance building a transform script where you need to read several different data points I can make the first part where I grab the data then just copy that into AI and tell it what I want the final data output to look like and it spits out something that in my experience has been on target 99% of the time.
Of course it all depends on what AI you are using and what you put in for prompts. Biggest difference I have seen is using a paid vs unpaid version. Free versions are essentially useless but once you get to paid version you get a LOT better output with larger context windows. I have saved a ton of time integrating AI use into my scada programming. HOWEVER I agree it probably at this point would not work well with stuff like HMI element creation. I was able to put the JSON for some screen elements I was having issue with placement / sizing for a perspective window one time and it was able to give me the fix, but for the most part I don't think this is an area I think it is beneficial.
Yeah I think scripting is an obvious and probably the best use case.
At one point I got somewhat excited about the idea of trying to create a VS Code plugin that could be pointed at an Ignition installation and present all of the scripting to you as if were a sane filesystem layout. That would be a win alone, but then you'd get access to Copilot or whatever other agent/AI you had for free. Next step might be an Ignition-specific agent that you taught as much as you could to about Ignition via system prompt and linked documentation etc...
But the fact we're stuck on Python 2 pretty quickly killed my enthusiasm. VSCode, PyCharm, etc... have all dropped Python 2 at this point. It's bleak.
No matter how smart the computer system is , one principle stays forever : GARBAGE IN, GARBAGE OUT.
But this garbage, having passed through a very expensive machine, is somehow ennobled, and none dare criticize it.
My initial thought was that the IA team has to develop a tailor-made AI agent for ignition, because it still runs on old Python 2.
I tried to use VScode+Cline+Gemini. It was helpful in some cases, but the problem is that you have to polish the cline rules to guide the agent to use Ignition tools. Sometimes he used imaginary functions from the system.util, which do not exist at all.
I hope the IA team will keep an eye on AI agent evolution and maybe someday it will be available.
I’ve found this ChatGPT - Ignition SCADA Wizard to be helpful with creating scripts and ways to do things.