Last week, I published an article on how you can Virtually Prototype with Digital Twins. The fundamental idea is that you can stream data from a system simulation to an IoT platform. That allows you to verify all sorts of things about the smart, connected product you’re developing, as well as how the IoT platform will use the data. This is going to be the new normal in development.
In this post, we’ll look at how the PTC ecosystem supports this kind of effort. Specifically, we’re looking at a combination of Integrity Modeler, SySim, and Thingworx. Buckle up. There’s a lot to cover.
First, here’s what PTC solutions do:
- Integrity Modeler is used to create a model of the system. We’ve already published a pretty extensive review that is accurate here. I’ll be going over the broad details in this post.
- SySim (officially Integrity Modeler SySim) executes that model, which simulates the operation of the system, providing a graphic user interface that displays measurable data and allows the modification of parameters. This solution generates data and sends it to the cloud for Thingworx.
- Thingworx is PTC’s IoT platform. It takes in the data and does all sorts of things with it. We’ll get into that in a moment.
Now, let’s get to the next level of details.
Building the System Simulation in Integrity Modeler
Here’s the most key aspect of that earlier post on Integrity Modeler.
Integrity Modeler offers some interesting simulation capabilities that you see in a few other tools, but are generally infrequent.
- You can embed mathematical-based behaviors for components in the model and/or link to other simulation tools. This might be friction between hardware components, or how a control software component reacts to input.
- You can automatically generate software code from UML and other models, representing the behaviors you need to emulate in software components of your system model.
- You can provide environmental inputs into the system as a whole, simulating how it reacts as if it were operating.
- Note that this does not require a different 1D system model. This is created directly from the system model mentioned earlier.
These capabilities allow you to virtually prototype an entire system early on and throughout the development cycle.
So, you can model both the software and the hardware aspects of your smart, connected product with Integrity Modeler.
Running the System Simulation with SySim
To simulate a real physical product running in its environment, you want to feed Thingworx data in real time. Integrity Modeler can be used to create the model, but not execute it. Remember, it’s got all that capability to build the models and a lot more. You need something that will only execute the models.
Well, actually, let’s walk that back for a moment. You want to be able to run that model, but you might want to support the concept of a human-in-the-loop, where someone is changing some of the options in the model in real time. That will more closely mimic the operation of the product in the real world.
That is essentially what SySim does. It does two distinct things:
- It runs the system model from Integrity Modeler, including embedded calls to simulate the design, and as a by-product sends data to Thingworx as if it were a real product.
- It can support the creation of a simplified user interface to allow someone to control parameters or variables in the model. It also outputs some measurements to that same interface. This supports the human-in-the-loop scenario.
TLDR; SySim runs the model optionally with some human input, sending data streaming to Thingworx.
Collecting the Data in Thingworx
Now, from a Thingworx perspective, a simulation looks and acts like a real physical product. Specifically, it acts like an edge device that is streaming data. You can do all sorts of things once that data is there, allowing for manual analytics or applying machine learning. You can kick off Windchill workflows. You can send information to an Augmented Reality (AR) or Virtual Reality (VR) overlay. We won’t get into all that detail here, but there is a lot you can do.
Transitioning to the Physical Product
What happens when you want to transition from digital prototyping to the physical product?
That’s actually one of the really nice things about Integrity Modeler. You can automatically generate the code from that model. You then flash that onto your product. When it starts running, that code includes calls to send the data to Thingworx. Note that this isn’t some new capability. This is actually one of the long-standing capabilities of Integrity Modeler.
Commentary and Analysis
Why is this a big deal?
An Inevitable, Untenable Situation
On a broader, non-PTC specific note, doing something like this is inevitable for any company that wants to make lots of smart, connected products. Just as was the case with mechanical hardware, physically prototyping a design and its connection with an IoT platform simply won’t be tenable soon. There’s too much cost and delay involved. Companies will gain a competitive advantage by adopting this virtual prototyping approach.
Out-of-the-Box Integration Matters
On a PTC specific note, their solution here is one of the few integrated ecosystems available right out of the box. Integrity Modeler writes out a model with embedded calls to send data to the Thingworx server. SySim runs the Integrity Modeler with minimal and often no fiddling. Thingworx sees SySim as an edge device.
I know. It’s supposed to all work together. But let’s be frank: there’s hardly any other combination of tools like this from anyone else that works like this out of the box. This is a black and white differentiator.
Transitioning from Digital to Physical
One of the other really powerful things about this ecosystem of solutions is the transition from digital to physical. You can run your system model on SySim, sending data to Thingworx. You can flash code from Integrity Modeler to the physical product and start running it. Interestingly enough, you could run these two simultaneously, side by side. You could compare the data from the digital model and the physical product side by side. Over time, that allows you to increase the fidelity of your digital model.
Of course, when you are ready, you turn off that digital model. It makes for a simple and easy transition.
Recap and Conclusions
- A combination of PTC solutions allows companies to virtually prototype a smart, connected product, sending data to an IoT platform.
- Integrity Modeler builds the system model that runs the simulation.
- SySim runs that model, sending data to Thingworx. SySim also provides some simple input and output controls as well.
- Thingworx sees the Integrity Modeler model running in SySim as an edge device.
- PTC’s ecosystem in this space is one of the few that offers all of these components. The out-of-the-box integration is advantageous.
- This ecosystem also allows you to transition easily from the digital world to the physical one. You can export and flash code from Integrity Modeler onto a physical product. You can even run the digital model and the physical product at the same time, both sending data to Thingworx so that you can improve them over time.
Ultimately, I see many companies moving to this approach, where they virtually prototype the interaction between their smart, connected products and their IoT platform. PTC’s ecosystem is one of the very few such solutions available.