Remix.run Logo
TheCapn 7 hours ago

The biggest part of that is how there's a lot more community involvement for IoT and things like Home Assistant than there are for the proprietary PLC systems.

In the PLC/SCADA space a lot of the development and resources are closed source. There's been a big push in the last few years for Open standards but that's slow to adopt and I'm sure in time we'll see the Controls space catch up (it is notoriously dated compared to the rest of the software world).

But in the meantime its like the perfect storm of terrible-ness for AI. The vast majority of my SCADA work is in AVEVA products, mainly Wonderware and Edge. Wonderware's scripting language is something called QuickScript.NET which is like 80% of VB.NET. The issue with AI is that being a statistical engine it very quickly starts on the right path, then veers into what is very obvious VB.NET training data and starts doing things that are impossible in Wonderware. Edge uses VBScript, but a limited subset of it. So querying AI for help mostly just spits out useless code in the same way; confidently declaring what it gave is possible when it only results in runtime exceptions.

In the PLC space you can get AI to do pretty mundane things with ease. Writing ladder logic or structured text is pretty okay, but like most things that was never the bottleneck in project development: you're not saving a lot of time for the cost of an AI subscription license. As mentioned, Open standards are starting to be adopted pretty quickly and a lot of PLC systems allow import/export of the proprietary formats into XML now which is going to be beneficial in the long run, but we're not quite there yet.

The problem is always that time it messes up, and it can be very subtle. Off by one errors which would be perfect fine in one environment can be catastrophic totally depending on how your I/O Comms were configured. I was trying to interface with some hardware that I asked AI to see if I could solve the pain points of remote enable/disable via network comms. It very eagerly told me I could use OPC-UA Methods to achieve what I'm after, but I was working a platform that didn't support Methods. It even fabricated a path to fake call a method which obviously did not work when applied to a real world scenario. So I asked it how to use Modbus which requires use of FC16 to act on the hardware. Again AI very eager to tell me how to do that, but hallucinated what could be done. Lastly I went for the TCP route which again had AI giving incorrect information - it was far closer this time, having instructed me to send a command in a format which doesn't work out of box, but could be manually configured in the hardware to work. Fortunately I was testing to see if it could save me time, not trying to see if it could do something I was unable to do, but I try to imagine what would happen if I allowed it to do that type of work on a VFD, or PID loop. That tiny little bit of misunderstanding by the agent could be catastrophic.

Each time I share this type of experience (and I have others) with the AI community I'm told I'm doing it wrong. That if I was using better models or different configurations that wouldn't be an issue. Telling me that I need to pay for models - as though I want to fork over cash when their demos are wildly underwhelming. It gives me a lot of overall distrust in the AI community because of this. It feels a lot like interacting with Linux fanatics who are unable to accept that it has faults that aren't tolerable by the layperson. That these people cannot see the faults because it works great in their narrow needs.

But at the same time, using AI to give little tips. How can I speed up this SQL Stored Proc? Why is my DataBinding failing to update? What is causing this OS upgrade to fail? Its done pretty good work. I see it as a tool that works along with me and an IDE, not as a human replacement like so many feel it is ready to be.