I made a PLC AI assistant that references manuals

Join Date
Sep 2023
United States
I think it's really tedious to dig through long manuals so I made an AI tool that can:

- Answer questions about parts without digging through PDFs.

- Generate code snippets based on supplier manuals.

Here's a short video demo you can watch :)

You can use it for free - just let me know, how can I make this more useful for you? or are there any other feature requests to solve something for your specific workflow?

Learn more here

Try it here
Best of luck in your endeavors!

I'm not an expert, but every system of these I've ever seen has been killed by the fact that it doesn't actually understand the info, it just says something that sounds good. This is double dangerous, because to someone who doesn't know what they are doing, the instructions sound super plausible, but are plain wrong. I've never yet seen an implementation that can say "I don't know" or "I'm sorry Dave I'm afraid I can't do that".

example Q:
how to set up profinet in L83

To set up Profinet in L83, you will need to follow the steps below:

  1. Open the Hardware Configuration Utility in VersaPro by double-clicking on "Hardware Configuration" in the Folder Browser.
  2. Configure the PLC by adding it to the utility.
  3. Open the Ethernet tab in the CPU's configuration window.
  4. Set the following parameters:
    • Adapter Name: Specify a name for the PLC during EGD configuration in VersaPro.
    • IP Address: Set the IP address for the PLC.
    • Subnet Mask: Set the subnet mask for the PLC.
    • Gateway IP Address: Set the gateway IP address for the PLC.
    • Status Address: Specify the start of an 80-bit global status area. This can be kept at the default setting.
  5. Save the hardware configuration to disk.
  6. Return to VersaPro and select "Tools" > "Communication Setup" to open the Communication Configuration Utility.
  7. Ensure that the PLC is listed in the utility with the correct IP address. If not, add it using the "Refresh List" option.
  8. Select "Device" > "Set Temporary IP" to assign a temporary IP address to the PLC. This is necessary before setting permanent IP address.
  9. Enter a temporary IP address in the dialog box and click "Set". It is recommended to use the same IP address that will be permanently saved later.
  10. Select "Device" > "Parameter Settings" to define communication settings between the PC and the PLC.
  11. In the Parameter Settings dialog, enter the permanent IP address, subnet mask, and gateway (if applicable).
  12. Click "Download" to transfer the settings to the PLC. You can check the settings by clicking "Transfer Setup" or selecting "Online" > "Transfer Setup" from the main menu.
  13. Power cycle the PLC for the network parameter changes to take effect.
Please note that the instructions provided are based on the information given in the provided text. It is always recommended to refer to the manufacturer's documentation for the most accurate and up-to-date instructions.
You ask about an L83, it gives you instructions in VersaPro.
My question:
How do I setup an F(x) trend in TIA WinCC Comfort

The answer is very generic, and doesn't tell you about some of the important decisions you have to make.
edit: Reading the answer again, I see that it is misleading. You cannot make an f(x) trend with only 1 tag.
To set up an F(x) trend in TIA WinCC Comfort, you can follow these steps:

Open TIA WinCC Comfort and create a new project or open an existing project.
In the project tree, navigate to the "Tags" folder and create a new tag for the F(x) trend.
Configure the tag properties, such as data type, address, and scaling if necessary.
In the project tree, navigate to the "Trends" folder and create a new trend.
Configure the trend properties, such as name, duration, and sampling rate.
In the trend configuration window, click on the "Add Tag" button to add the previously created F(x) tag to the trend.
Configure the display properties of the F(x) trend, such as axis scaling, colors, and legends.
Save the project and compile it.
Download the project to the HMI device.
Run the HMI device and navigate to the F(x) trend screen to view the trended data.
Please note that the specific steps may vary depending on the version of TIA WinCC Comfort you are using.

The disclaimer at the end is a bit lame:
It is recommended to refer to the user manual or documentation provided by Siemens for detailed instructions on setting up trends in TIA WinCC Comfort.
Basically, it says that you should read the original manuals anyway.

I am sorry to say this, but I am very doubtful about this service.
The problem isn't reading the manuals. If you cannot be bothered to read the manuals, then you shouldn't be in this business.
The problem is more how to FIND the correct manual or sample project. This is also much less of a problem than it used to be. With google you can often quickly find the manual or support entry to match your device or question.
Last edited:
Another thought.
Do you somehow filter out any questions related to safety and/or safety PLCs ?
One thing is general PLC related questions. But safety is another level of consequences if your AI provides misleading answers !
When the latest version of ChapGPT, a few days after in some of the podcasts I listen to regularly, the host said something to the effect (I asked the AI to write an essay about 'XXXX' as if it was written by 'YYYY ZZZZ' (what is the host of the podcast, or one of the co-hosts, usually the male one, have yet to hear this from a female pod caster).
Particularly hilarious was Peter Zeihan's video on this.

I have read that if the AI gets some very specific requirements on how to develop and algorithm it provides sometimes useful insights. But to expect that at this moment at least one can ask the AI how to configure a communication module, or as Jesper says, explain how to develop a safety application, I feel that someone who thinks he or she needs an AI for this purpose perhaps should think about finding another job.
So are these only questions that will be found in the manuals? So its like a big manual that filters the answer?

I thought it may be good for homework, so I asked.... "how do I make a latching circuit in ladder logic?" and I got "Thinking..." I think I broke it :)
Last edited:
Another thought.
Do you somehow filter out any questions related to safety and/or safety PLCs ?
One thing is general PLC related questions. But safety is another level of consequences if your AI provides misleading answers !
How to configure safety analog outputs on Rockwell RSLogix 500

To configure safety analog outputs on Rockwell RSLogix 500, you can follow these steps:

  1. Open RSLogix 500 and navigate to the project where you want to configure the safety analog outputs.
  2. In the project tree, locate the safety analog output module that you want to configure. This module will typically have a catalog number starting with "1756" or "1769".
  3. Right-click on the module and select "Properties" from the context menu.
  4. In the module properties window, go to the "Configuration" tab.
  5. Here, you can configure the settings for the safety analog outputs. This may include specifying the range, resolution, and other parameters specific to your application.
  6. Once you have configured the desired settings, click "OK" to save the changes.
  7. Assign the safety analog output module to the appropriate tags in your program. This will allow you to read and write values to the analog outputs.
  8. Double-click on the tags associated with the safety analog outputs and enter the desired values. This will determine the output signal that is sent to the connected devices.
  9. Save your project and download it to the controller to apply the configuration changes.
Please note that the specific steps may vary depending on the exact model of the safety analog output module you are using. It is recommended to refer to the documentation provided by Rockwell Automation for detailed instructions specific to your module.
Excellent examples of the output of the language model giving bad advice, with bad references that don't say what it "thinks" they say.

For anyone reading who isn't an expert: RSLogix 500 is for SLC's, not GuardLogix or Compact GuardLogix. There are no 1756 or 1769 analog safety modules. Yet it cheerfully tells you how to use both together.

The practical problem is that if this sort of AI-generated stuff actually gets used or produced by inexperienced people who don't understand not to trust it, then you can get real catastrophes if safety-based systems are involved.

Even here, we're spending time explaining to people who are all excited about the reasonable-sounding results from the chatbot that no, that's not what that manual says, and the manual is for something different entirely.

I'm sitting here in a machine shop in eastern Ohio for the past week because my junior engineer Googled a user manual for an analog module that is one character off from the one that was actually installed, and hooking up with the wrong wiring diagram damaged a load cell mounted deep inside a 50-ton weldment.

And that's just a bad assumption and simple error, made in good faith. AI allows people to make thousands of bad assumptions per second.

Are AI language models amazing ? They are. Are they likely to be trainable to more closely emulate human expertise ? They might be.

But this all feels a great deal like spending the holidays last year with my teenage nephew who was really, really, really eager to tell me about how rich he was going to get in crypt0 currency.
AI allows people to make thousands of bad assumptions per second.
That is one of the best descriptions of AI I've ever heard. I'm filing that one away for the next time a customer asks me if I can deliver a 12 month project in 3 months using AI :ROFLMAO:

I've had mixed results with AI.

I was looking at a very specific problem relating to Logix Motion PLC's a few months ago, and put in a call to Tech Support. I spoke to a rep I'm familiar with, that I'm confident knows his stuff. He said he wasn't sure off the top of his head and was working from home that day, but would set up a test rig in the office tomorrow and test it and call me back with the results.

In the meantime, my boss suggested I ask ChatGPT. I was skeptical, but asked it the question just to see what it would say. It gave me quite a detailed answer, which I would summarise as "not a great solution, but a passable workaround if no other option exists".

The next day, Tech Support called me back, confirmed my suspicions of the limitation, and offered the exact same workaround that ChatGPT had provided.

I've had good results in two other instances - I have an absurdly over-engineered system keeping the plants on my balcony watered that gathers data from the local weather bureau, and emails me when something needs my attention. At some point the weather bureau changed how they made their data available, and Google turned off a security setting that my code relied on to send the emails. ChatGPT took my old code and updated it to work with the new restrictions in both cases, in only minutes instead of the days it took me to work it out on my own, several years back before ChatGPT existed.

Other times it's been...less than helpful. I've asked it to review some documentation for spelling errors or references to an irrelevant system that I copy/pasted the initial document as a basis for. It missed several. I've also tried to use it to help me find where to look for certain settings or functions as I learn a new SCADA platform (Wonderware) and it's been only slightly better than useless. It can't write ladder logic to save it's life, and some of the information it gives me sounds good but is flat out wrong.

For me, if it's helping me to do something that I already know how to do/would be able to work out given time and patience, it's a useful tool to help me along and automate some of the tedious grunt work. But if you're trying to use it to do something you don't know how to do yourself, you're not gonna have a good time.

Similar Topics

GitHub Link: https://github.com/Automation-Standard/Open-Industry-Project This is a little side project I've been working on that I felt would be...
I have been tasked with the design of a small/moderate automation project (100 digital points and about 40 analog points with 2 HMI interfaces)...
Does anyone have experience wiring this type of analog pressure transmitter up? It's 4 wires. 3 blacks and 1 green which I assume is earth...
Hello, I'm trying to look up a way to tell if the PLC has had any edits changes or download via a bit or GSV... My hope is to display a date and...
We have a project that has all the routines viewable but not editable. I just want to force a bit high but cant do it. The only way to do so is...
Top Bottom