cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

DataModel Design for IOT solution

MA8731174
14-Alexandrite

DataModel Design for IOT solution

Our companys training centre for experiential learning is equipped with 5 Reconfigurable Cells (RC), RC01, RC02, RC03, RC04 and RC05, which are used to assemble and disassemble different products like USB Cover, USB Box, Limit Switch, Wi-Fi Smart Switch, Torchlight and Push Button.

 

Reconfigurable Cell 01, , holds the storage of the USB Cover and USB Box. It serves to assemble the Limit Switch Cover and Chasis. It also stores the finished Limit Switch, Push Button and Wi-Fi Smart Switch goods.

 

Reconfigurable Cell 02  is used to perform laser marking on USB Key and Torchlight. It is also used to assemble and disassemble the Wi-Fi Smart Switch. Furthermore, this cell is used to store finished goods of torchlight

 

Reconfigurable Cell 03 checks the colour of the torchlight body. It also has a LED tester station to test the torchlight LED. Additionally, it serves multiple purposes to assemble and disassemble for Push Button and Wi-Fi Smart Switch

 

Reconfigurable Cell 04 is used as a souvenir drawer for USB Cover, USB Key and torchlight. It also serves multiple purposes to assemble and disassemble the Limit Switch, Wi-Fi Smart Switch and Torchlight.

 

Reconfigurable Cell 05 serves as an inventory for carrier of different products.

 

Problem Scenario : Our company;s center of Advanced Manufacturing is a place where the dashboard of all the Reconfigurable Cells are displayed to monitor the cells’ environmental and health conditions. Reconfigurable Cell 01 assembles the Limit Switch cover. Reconfigurable Cell 02 assembles the Wi-Fi Smart Switch. Reconfigurable Cell 03 assembles the Push Button. Reconfigurable Cell 04 assembles the limit switch. I want to design and develop a dashboard using ThingWorx to monitor and display

 

 

RECONFIGURABLE CELL PARAMETERS TO BE DISPLAYED ON THE DASHBOARD:-


1.ROBOT USE IN THE CELL
2.STATUS OF THE ROBOT
3.FAULT OF THE ROBOT
4.DIFFERENT TYPES OF ROBOT TOOLS USE IN THE CELL
5.STATUS OF THE ROBOT TOOLS
6.STATUS OF THE ACTIVE TOOLS
7.DC POWER SUPPLIES
8.CURRENT
9.VOLTAGE
10.POWER UTILITY RATE
11.ASSEMBLY STATIONS
12.STATUS OF THE ASSEMBLY STATIONS
13.FAULTS
14.LINEAR MAGNETIC SYSTEM
15.AC POWER SUPPLY
16.POWER FACTOR
17.CURRENT
18.VOLTAGE
19.ANY FEEDER STATION
20.STATUS
21.FAULTS
22.CURRENT AND VOLTAGE TRENDS
23.ENVIRONMENT: TEMPERATURE AND HUMIDITY
24.FIGURE OF RECONFIGURABLE CELL 

 

I have posted a kind of similar query before but that was incomplete. Can anyone please guide me about the construction/Desgin of datamodel means thingtemplates, thingshapes and things. I have few ideas but i want more insights into my solution thats why i am posting it here in the forum. I would like to implement the solution with the best possible practices thingworx offers. Please let me know about it if anyone has ideas about the datamodel design.

 

 

Jamal8548_0-1716839840291.pngJamal8548_1-1716839856885.png

@Rocko would you please like to give me some insights ?

3 REPLIES 3

This it not necessarily ThingWorx dependent. It's a question on what your current usecase/situation is and how it will be in the future, e.g. if there is a need to scale, or if this is the only "line" of cells you ever plan to manage in that TWX instance. The more you want to scale or reconfigure the more abstract your modelling has to be, putting more effort into the design. but paying off later.

There are many more questions influencing the design, but with the info given, the RCs seem to be each quite unique with their own machinery connected.

So I'd probably go with a general RC-Template, create 5 things from that and give each of them links to the devices on that RC. Just don't ever create things directly from GenericThing, but push your own template in between so you have better configurability.

MA8731174
14-Alexandrite
(To:Rocko)

Thank you @Rocko 

That means i will create here only one thingshape with all these parameters assign it to the thingtemplate and then my five cells(Things) will use this template so means they inherit these parameters also and then that i will show to the dashboard. ?

 

Assumption: i can see all the parameters to show on dashboard but according to the description it is unable to differentiate that which cell would have which specific stuff for himself. According to the description it stated that every cell assemble different thing but parameters are written as a whole feels like these all cells have these SIMILAR parameters which i need to show on mashup means no need to differentiate among them and use one thingshape and thingtemplate for all 5 cell(things).


ThingShape
 : CommonRCParameters
├── RobotUse
├── RobotStatus
├── RobotFault
├── RobotToolsUsed
├── RobotToolsStatus
├── ActiveToolsStatus
├── DCPowerSupplies
├── DCCurrent
├── DCVoltage
├── PowerUtilityRate
├── AssemblyStations
├── AssemblyStationsStatus
├── Faults
├── LinearMagneticSystem
├── ACPowerSupply
├── PowerFactor
├── ACCurrent
├── ACVoltage
├── FeederStation
├── FeederStationStatus
├── FeederStationFaults
├── CurrentTrends
├── VoltageTrends
├── Temperature
├── Humidity
└── ReconfigurableCellFigure

ThingTemplate: ReconfigurableCellTemplate
└── Implements: CommonRCParameters
└── Implements: GenericTemplate

Things:
├── ReconfigurableCell01
└── Inherits: ReconfigurableCellTemplate
│ ├── RobotUse: TRUE
│ ├── RobotStatus: "Operational"
│ ├── RobotFault: "None"
│ ├── RobotToolsUsed: "ToolA, ToolB"
│ ├── RobotToolsStatus: "Good"
│ ├── ActiveToolsStatus: "Active"
│ ├── DCPowerSupplies: 2
│ ├── DCCurrent: 5.5
│ ├── DCVoltage: 24
│ ├── PowerUtilityRate: 0.85
│ ├── AssemblyStations: "Station1, Station2"
│ ├── AssemblyStationsStatus: "Operational"
│ ├── Faults: "None"
│ ├── LinearMagneticSystem: "Active"
│ ├── ACPowerSupply: 220
│ ├── PowerFactor: 0.98
│ ├── ACCurrent: 10.2
│ ├── ACVoltage: 230
│ ├── FeederStation: "Feeder1"
│ ├── FeederStationStatus: "Operational"
│ ├── FeederStationFaults: "None"
│ ├── CurrentTrends: [INFOTABLE DATA]
│ ├── VoltageTrends: [INFOTABLE DATA]
│ ├── Temperature: 22
│ ├── Humidity: 55
│ └── ReconfigurableCellFigure: "url/to/image1"
├── ReconfigurableCell02
│ └── Inherits: ReconfigurableCellTemplate
│ ├── [May be Properties specific to RC03]
├── ReconfigurableCell03
│ └── Inherits: ReconfigurableCellTemplate
│ ├── [May be Properties specific to RC03]
├── ReconfigurableCell04
│ └── Inherits: ReconfigurableCellTemplate
│ ├── [May be Properties specific to RC03]
└── ReconfigurableCell05
└── Inherits: ReconfigurableCellTemplate
├── [May be Properties specific to RC03]

Sounds about right.

When you have individual parameters per thing rc01,rc02,... it becomes more complicated as you likely will have individual mashups then, unless you want to display those in a generic way like property-value table.

You could think about having multiple Shapes for the properties, grouped by section/sensor, e.g. Robot, Feeder, Energy, but having just one is fine as well.

Announcements


Top Tags