This project will introduce ThingWorx Analytics Manager. Following the steps in this guide, you will learn how to deploy the model which you created in the earlier Builder guide. We will teach you how to utilize this deployed model to investigate whether or not live data indicates a potential engine failure. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete ALL 2 parts of this guide is 60 minutes.
You can leverage product-based analysis Models developed using PTC and third-party tools while building solutions on the ThingWorx platform.
Use simulation as historical basis for predictive Models
Create a virtual sensor from simulation
Design-time versus operational-time intelligence
It is important to understand how Analytics Manager interacts with the ThingWorx platform.
In an IoT implementation, multiple remote Edge devices feed information into the ThingWorx Foundation platform. That information is stored, organized, and operated-upon in accordance with the application's Data Model. Through Foundation, you will upload your dataset to Analytics Builder. Builder will then create an Analytics Model.
Analytics Manager tests new data through the use of a Provider, which applies the Model to the data to make a prediction. The Provider generates a predictive result, which is passed back through Manager to ThingWorx Foundation. Once Foundation has the result, you can perform a variety of actions based on the outcome. For instance, you could set up Events/Subscriptions to take immediate and automatic action, as well as alerting stakeholders of an important situation.
For any ThingWorx IoT implementation, you must first connect remote devices via one of the supported connectivity options, including Edge MicroServer (EMS), REST, or Kepware Server.
Edge Connectivity is outside the scope of this guide, so we'll use a data simulator instead.
This simulator will act like an Engine with a Vibration Sensor, as described in Build a Predictive Analytics Model.
Import the engine simulator into your Analytics Trial Edition server.
NOTE: The InfoTable Property is used to store data corresponding to the s1_fb1 through s1_fb5 frequency bands of the vibration sensor on our engine. The values in this Property change every ten seconds through a Subscription to the separate AMQS_Timer Thing. The first set of values are good, in that they do NOT correspond to a low grease condition. The second set of values are bad, in that they DO correspond to a low grease condition. These values will change whenever the ten-second timer fires.
We have created a sample Mashup to make it easier to visualize the data, since analyzing data values in the Thing Properties is cumbersome. Follow these steps to access the Mashup.
Observe the Mashup for at least ten-seconds.
NOTE: These values correspond to data entries from the vibration dataset we utilized in the pre-requisite Analytics Builder guide. Specifically, the good entry is number 20,040... while the bad entry is number 20,600. You can see in the dataset that 20,400 corresponds to a no low grease condition, while 20,600 corresponds to a yes, low grease condition.
In ThingWorx terminology, an Analysis Provider is a mathematical analysis engine.
Analytics Manager can use a variety of Providers, such as Excel or Mathcad.
In this quickstart, we use the built-in AnalyticsServerConnector, an Analysis Provider that has been specifically created to work seamlessly in Analytics Manager and to use Builder Models.
4. Leave the rest of the options at default and click Save.
Once you have configured an Analysis Provider, you can publish Models from Analytics Builder to Analytics Manager.
4. Close that new browser tab, and instead click Analytics Manager > Analysis Models in the ThingWorx Composer Analytics navigation.
It is recommended to test the published Model with manually-entered sample data prior to enabling it for automatic analysis. For this example, we will use entry 20,400 from the vibration dataset. If the Model is working correctly, then it will return a no low grease condition.
Data Row Name
Data Row Value
6. Click Add Row.
7. Select the newly-added row in the top-right, then click Set Parent Row.
8. Click Submit Job.
9. Select the top entry in the bottom-left Results Data Shape field.
10. Click Refresh Job.
You have now successfully submitted your first Analytics Manager job and received a result from ThingPredictor. ThingPredictor took the published Model, used the no low grease data as input, and provided a correct analysis of false to our prediction.
Now, let's test a true condition where our engine grease IS LOW, and confirm that Analytics Manager returns a correct prediction.
Data Row Name
Data Row Value
3. Select the top entry in the bottom-left Results Data Shape field.
4. Click Refresh Job.
5. Click Submit Job.
6. Select the top entry in the bottom-left Results Data Shape field.
7. Click Refresh Job.
You've now manually submitted yet another job and received a predictive score.
Just like in the dataset Entry 20,600, Analytics Manager predicts that the second s1_fb1 through s1_fb5 vibration frequencies correspond to a low grease condition which needs to be addressed before the engine suffers catastrophic failure.
Since both false and true predictions made by the Model seem to match our dataset, let's now enable the Model so that it can be used for automatic predictions in the future.
Click here to view Part 2 of this guide.