Get new content delivered to your inbox every month.
No spam, unsubscribe anytime.
FactoryTalk Design Studio is Rockwell Automation's next generation development environment for Logix 5000 systems and one of its most interesting features is the built-in Copilot which is an AI assistant that "fulfills requests to accelerate your efficiency in FactoryTalk Design Studio". Although that sounds gimmicky, it is actually a very useful tool.
In this post, I'll walk you through some major use cases of FactoryTalk Design Studio's Copilot including;
I'll also talk about some of the limitations of the Copilot and issues that I encountered while testing it.
Before I dive into use cases of FactoryTalk Design Studio's Copilot, I want to point out that this is not just a wrapper ChatGPT. The Copilot in FactoryTalk Design Studio is trained on a Small Language Model (SLM) that is specifically built by Rockwell Automation for industrial automation applications. The idea is that a Copilot trained on a bespoke SLM will have a better knowledge of Rockwell Automation products and their application than a general purpose LLMs that are used by ChatGPT, Claude, and Gemini.
Now that we know what FactoryTalk Design Studio's Copilot is, let's look at how it can be used to explore product features.
In FactoryTalk Design Studio, I have created a brand new project for testing the Copilot functionality. In the System Pane, I can see that there is a prompt to add a new Smart Object to the project. Smart Objects are a new concept in FactoryTalk Design Studio that I might like to learn more about.
To learn more about Smart Objects, I could open the Help system and search through it using keywords.
But I can also ask Copilot to explain what a Smart Object is.
To do that, I open the Copilot pane and enter the prompt "What is a Smart Object?". After a brief processing period, Copilot comes back with a detailed explanation of Smart Objects in FactoryTalk Design Studio, their features, and an example use case
Frankly, I like this feature a lot more than I thought I would for two reasons.
First, it feels much less disruptive to get help in a side pane of the development environment than it does to open a dedicated help system.
Second, it is great to be able to use natural language to get help rather than searching for keywords.
So now we know that Copilot can be used to explain product features but the real power of Copilot is in its ability to generate code. Let's look at how it does that in the next section
As well as asking Copilot for product information, we can ask it to create code for us.
I was pleasantly surprised when I was testing this feature when I realised that you don't have to be very prescriptive to get Copilot to generate good code.
In this example, I have asked Copilot to create an AOI that calculates the volume of a cylindrical tank.
After a few minutes of processing, it creates the AOI and comes back with an explanation of what it has done in the project.
This was quite a high-level prompt - I didn't tell it what inputs or outputs the AOI had to have and I didn't tell it what formula to use to calculate the volume of the tank.
But when I look at the AOI that Copilot has created, it has added Height and Radius as inputs and Volume as an output which is exactly what I wanted. It has also documented the parameters very well which is more than I do a lot of the time.
The logic for the AOI is correct as well.
Some people may argue that Copilot should have used a single CPT instruction, but the implementation details don't matter that much here. What matters is that Copilot has created a perfectly valid AOI on the back of a high-level prompt.
As well as creating new code, we can ask Copilot to update existing code.
In this example, I've asked Copilot to update the AOI to use a tag for pi instead of a hardcoded value and it has successfully made the update.
The only limitation that I came across when I was testing this feature was that Copilot wasn't always aware of manual changes that I made to the code.
For instance, I deleted the AOI and asked Copilot to create it again but Copilot thought the AOI was still in the project. I have reported this issue to Rockwell and I'm hoping that a future release of FactoryTalk Design Studio will include a Copilot that is more aware of manual changes in a project.
In this section, we saw that Copilot can interpret natural language and generate code. In the next section, we'll see that Copilot can also do the opposite.
Only limitation I encountered was that Copilot wasn't aware when I deleted an object
Copilot can be used to analyze and explain code in a project. This feature is very useful for anyone who has inherited a project that has poor documentation.
To test this feature, I have modified the AOI that was created previously to remove all of the documentation. I think asked Copilot to analyze the code and tell me what it is doing. In this case, I used the Inline Copilot so that it would have the context of the code automatically.
I was very impressed when Copilot came back and told me that it is calculating the volume of a cylindrical tank and explained the formula being used.
What's really cool is that after Copilot figure out what the AOI is doing, I was able to ask it to update the AOI to add proper documentation.
As you can see here, Copilot was able to rename and add comments to all of the parameters to make it clear what they are and how they are used.
So Copilot can be used to interpret and update poorly documented code.
It can also be used to interpret error messages. Let's see how that works in the next section.
In the project, I have added an empty rung to an AOI.
In the Output pane, I can see the error code and location of the error.
I can click on the location to go to that location in the project but I can also click on the Ask Copilot button to get help on this error.
After a brief processing time, Copilot comes back with a detailed explanation of the error and some advice on how to fix it.
Its very cool that Copilot can help explain errors but I found it a bit annoying that Copilot can't fix the error that it has just explained. After reading the explanation, I gave Copilot the prompt "Please delete the rung to resolve this error" but Copilot didn't know which rung had to be deleted.
This seems to be an issue with the Ask Copilot prompt not passing the context of the error to Copilot. I have reported it to Rockwell and I'm hoping to see it updated in a future release of FactoryTalk Design Studio.
When I first heard about the integrated Copilot in FactoryTalk Design Studio, I thought it was a marketing gimmick that was trying to ride the wave of AI hype.
After testing the AI features of FactoryTalk Design Studio, I have changed my mind - I genuinely think that the integrated Copilot will help anyone who chooses to use it to work more efficiently and effectively. It makes understanding product features, creating basic code, interpreting basic code, and understanding errors significantly easier and faster.
Of course, we are in the early days of AI and the Copilot in FactoryTalk Design Studio is not perfect but it is a powerful tool and it is a tool that will only get better as time goes on.
I'm hoping that future releases of FactoryTalk Design Studio extend the capabilities of Copilot to do more in a project like adding controllers and mapping logic to controllers which is not possible right now.
I really think that there is no escaping AI and my advice to you is to get used to working with AI now while it is an option and not a necessity.