This Tech Bite session, presented in partnership with CODESYS, explores how Tatsoft’s FrameworX platform enables modern SCADA, edge computing, and AI-ready industrial applications. The presentation covers core SCADA capabilities, high-performance architecture, MQTT and Sparkplug B integration, built-in brokers, and dynamic tag connectivity with CODESYS controllers—eliminating manual tag configuration. The session also includes a live demonstration showing real-time data acquisition, asset trees, historian and alarm integration, and emerging AI capabilities such as Model Context Protocol (MCP), ML.NET, and a trained AI assistant, highlighting how FrameworX accelerates digital transformation and Industry 4.0 initiatives.
Full Transcript
Scott Gray
We are a SCADA software company, focused on visualization, communication, and runtime. I’ve circled those on the server level.
Our software can run on a PC, but it can also run on a server and supports hot standby. You can have two licenses, and if one of the servers goes down, the other switches over automatically.
I’m not sure what this was supposed to be, but I’m interpreting it as an edge computer. Although we have full SCADA server functionality, we also have an EdgeConnect version of our product that supports edge computing.
As I mentioned, we are a SCADA software company, and we’ve been around for over 10 years.
We provide all the standard functionality you would associate with SCADA: visualization, alarming, trending. SCADA software has supported SQL functionality for years, but I want to focus more on what differentiates us.
About a year ago, we released version 10 of the software, which significantly strengthened our digital transformation and Industry 4.0 functionality. A couple of weeks ago, we released version 10.1, and now we support AI, which we refer to as being AI-ready.
I’ll also talk a little bit about how we use dynamic tags when communicating with a CODESYS controller. Philip is on the line and will do a software demonstration where he shows an actual connection to a controller and demonstrates how the AI works.
I’ll come back later to talk about licensing and how that works, and then I want to talk a bit about partnerships and the platform.
What’s important here is that we’re a modern platform. Even though we’ve been around for over 10 years, we were built on .NET from the beginning. We weren’t written in an older programming language and later patched to appear modern. It’s based on .NET, it’s a modern platform, and it has a strong roadmap for the future.
It’s very fast. If you only have a couple hundred points, performance doesn’t matter as much. But when you get into thousands or tens of thousands of points, there really isn’t another SCADA software on the market that can keep up with us in terms of update times.
It also has a very small footprint. Even though PCs today have plenty of disk space, there are cases where you want to run on smaller devices. We actually have licenses running on Cisco routers, so footprint is very important.
It’s also multi-platform. Most SCADA software runs on Windows, but Linux is becoming more common. Because we’re built on .NET, we support both, and we also offer strong interoperability with other .NET applications.
What I’ve learned over the last six months is that many integrators and machine builders have built their own industry-specific applications. By implementing frameworks, the interoperability between their software and ours is very strong, and they can do things they can’t do with other SCADA platforms.
One of the most powerful aspects of the framework is scripting. Many SCADA platforms started with proprietary scripting, then moved to Visual Basic. We support C#, VB.NET, and Python. It’s important to note that this is true Python—not Jython or an older version. We support the latest Python versions.
The platform is also AI-ready, which I’ll talk about a bit more in the context of digital transformation.
Version 10 was really when we strengthened our Industry 4.0 capabilities. We support MQTT and Sparkplug B. Sparkplug B is especially important because MQTT is often used in IT environments, while Sparkplug B is more real-time and OT-focused.
Some SCADA platforms are still trying to catch up. Some only support MQTT, or have only recently added Sparkplug B, and often only as a client. We have a built-in broker, which is very unique. Not many SCADA platforms offer a built-in MQTT or Sparkplug B broker.
We can act as a broker, a client, or any combination of the two.
Another important point is scalability. When you start your digital transformation, you can use just our product. We have the broker built in, clients can connect on both the OT and IT sides, and you have everything you need to create a Unified Namespace.
If later on your IT team decides to use an external or enterprise broker, you simply point our software to that broker. You just change the IP address, and that’s it. Scaling is very straightforward.
Regarding AI readiness, which we announced in version 10.1, there are three main components.
The first is MCP, or Model Context Protocol. It’s an open standard for connecting language models. What this means is that we make data within FrameworX available to AI agents.
In practical terms, you can ask an AI agent a question like, “Which machine had the most downtime today?” and it will retrieve real data from your system and show you what happened.
The second component is ML.NET, Microsoft’s machine learning framework. It allows you to build, train, and use machine learning models, such as anomaly detection.
There are also open-source models available online, and you can integrate those directly into our software.
The third component is a FrameworX-trained AI assistant. Anyone who has used AI to write code or answer technical questions knows that it often gets things wrong. Our assistant is trained specifically on the FrameworX platform, so when you ask questions like “How do you create a trend?”, the answer you get back is accurate the first time.
I’ve been in the SCADA industry for a long time, and originally, every tag had to be created manually. To improve productivity, we moved to importing tags from spreadsheets. Then we moved to discovering tags directly from controllers.
We’ve taken this one step further. We can point to a controller and connect to all of its tags dynamically.
On this side, you see what we call an asset tree. This could be MQTT or another protocol. It’s a way to organize data. Not only does this make all controller tags accessible to the application, but it’s also dynamic.
If you add tags in the controller, no configuration is required. Those tags automatically appear in FrameworX.
Phillip will now show how that works.
Phillip
Hello everyone. I’m Phillip Tomaszewski. I’ve worked at Tatsoft for eight years as an application engineer. I’m going to show how we create these connections with CODESYS and how the application runs at runtime.
Let’s start by looking at the application we’re presenting today. It’s a simple dashboard, but it’s very powerful. The power is not just in the graphics or the information we display, but in how we handle data.
We can connect to controllers and bring in information without having to create a single tag manually.
As you can see, I can navigate between different panels, and all of this data is being collected from the controller in real time. There was no manual tag creation—only the connection configuration required to make this work.
Another interesting capability is AI connectivity. If I open the cloud client component and look at the connectors, you’ll see one called “CODESYS Demo.”
This is the application running right now. If I click on it, it provides a set of functions and information that the solution can access.
For example, I can ask it to return the solar panel power output in Spain. The cloud client connects to our MCP server and retrieves this information in real time.
What’s interesting is that it can mix information from different sources. The connection is two-way, meaning I can both collect data from the system and provide data to it.
While this is interesting, the most important part today is how we connect to CODESYS.
We use an asset tree that is populated completely dynamically. There are two ways to connect: through a PLC Handler using symbol configuration, or through OPC UA using the symbol set.
Creating these connections is very simple. Under Tag Provider Services, we configure the connection with basic information such as URL, username, and password. Security options are available, but it’s standard OPC UA configuration.
The PLC Handler works in a similar way. You choose the tag provider service, configure the connection, and click OK. As soon as you do that, all tags in the controller are mapped automatically and available in real time.
You can consume this data in displays, the historian, alarms, scripts, and reports. Every module in the application can use this data without manually creating local tags.
This allows you to create applications very quickly. A basic application like this can be built in 10 to 15 minutes.
That makes it ideal for proofs of concept or rapid deployments. You can connect to a controller, visualize data, historize it, and integrate with cloud and AI services very quickly.
My main point today is how simple it is to configure and provide real-time information through the connection between FrameworX and CODESYS.
That’s it for me. Thank you.
Scott Gray
Thank you, Philip. I’ll wrap up with licensing and partnerships.
We offer three product families: Enterprise, Machine HMI, and EdgeConnect.
Enterprise includes an unlimited version with unlimited I/O, unlimited clients, and all functionality included—no additional modules required. We also offer scaled I/O licenses for customers who want to right-size their solution.
Machine HMI offers the same functionality with a smaller I/O range, including AI and MQTT capabilities.
EdgeConnect is focused on edge computing. It doesn’t include displays, alarms, or historian, but it still includes scripting, Industry 4.0, and AI functionality.
We are very open to partnerships. We support embedding, white labeling, and co-development. We can remove Tatsoft branding and apply your own, allowing you to deliver a fully branded solution to your customers.
Our platform is future-proof, AI-ready, and continues to evolve. It also creates new revenue opportunities through analytics, AI insights, and data connectivity.
We’ve also completely redesigned our online documentation, which is now very extensive, along with new configuration videos.
That’s it from me. Thank you.
