Factory Metrics

We have a production line building products. Line consists of many Modules/Stations
Each Module records its machine metrics into a SQL Server database via FactoryTalk middleware

This is one example of some of the metrics we display on the factory floor

Hopefully users migrating to Dashboard 2 might find it useful

Flow

[{"id":"254986f6b7533e3e","type":"inject","z":"c02f2e0cc14e8a32","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"SPR1\",\"LIGHT\":64,\"STATE\":10,\"PPM\":15,\"INS\":78,\"OUTS\":5,\"LOSS\":73,\"REJECT\":38,\"PROJECTED\":22,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:05:00\",\"CAPABILITY\":2608,\"RUNNING\":3.82,\"FAULT\":33.93,\"CYCLESTOP\":21.42,\"MATERIALSTOP\":0,\"BLOCKED\":0,\"STARVED\":36.04,\"CYCLETIME\":3.75,\"AVAILABILITY\":39.86,\"PERFORMANCE\":7.5,\"QUALITY\":6.41,\"OEE\":0.19},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"SPR2\",\"LIGHT\":24,\"STATE\":10,\"PPM\":17,\"INS\":1462,\"OUTS\":1446,\"LOSS\":16,\"REJECT\":16,\"PROJECTED\":6384,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:18:36\",\"CAPABILITY\":2608,\"RUNNING\":56.75,\"FAULT\":0.33,\"CYCLESTOP\":3.66,\"MATERIALSTOP\":6.48,\"BLOCKED\":1.23,\"STARVED\":27.02,\"CYCLETIME\":3.75,\"AVAILABILITY\":85,\"PERFORMANCE\":65.93,\"QUALITY\":98.91,\"OEE\":55.42},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"SPR3\",\"LIGHT\":64,\"STATE\":10,\"PPM\":16,\"INS\":1914,\"OUTS\":1907,\"LOSS\":7,\"REJECT\":7,\"PROJECTED\":8420,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:34:32\",\"CAPABILITY\":2608,\"RUNNING\":74.14,\"FAULT\":0.08,\"CYCLESTOP\":0.65,\"MATERIALSTOP\":0.49,\"BLOCKED\":4.46,\"STARVED\":16.17,\"CYCLETIME\":3.75,\"AVAILABILITY\":94.77,\"PERFORMANCE\":77.41,\"QUALITY\":99.63,\"OEE\":73.09},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"FILT\",\"LIGHT\":24,\"STATE\":10,\"PPM\":27,\"INS\":3396,\"OUTS\":3363,\"LOSS\":33,\"REJECT\":26,\"PROJECTED\":14848,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:08:44\",\"CAPABILITY\":4564,\"RUNNING\":77.02,\"FAULT\":7.38,\"CYCLESTOP\":6.95,\"MATERIALSTOP\":2.11,\"BLOCKED\":0.84,\"STARVED\":1.08,\"CYCLETIME\":2.14,\"AVAILABILITY\":78.95,\"PERFORMANCE\":94.21,\"QUALITY\":99.03,\"OEE\":73.66},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"COVE\",\"LIGHT\":1,\"STATE\":0,\"PPM\":22,\"INS\":2447,\"OUTS\":2428,\"LOSS\":19,\"REJECT\":19,\"PROJECTED\":10720,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:58:04\",\"CAPABILITY\":4075,\"RUNNING\":69.01,\"FAULT\":20.4,\"CYCLESTOP\":3.03,\"MATERIALSTOP\":0,\"BLOCKED\":3.31,\"STARVED\":0.08,\"CYCLETIME\":2.4,\"AVAILABILITY\":72.4,\"PERFORMANCE\":82.9,\"QUALITY\":99.22,\"OEE\":59.56},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"COV2\",\"LIGHT\":16,\"STATE\":10,\"PPM\":21,\"INS\":1214,\"OUTS\":1213,\"LOSS\":1,\"REJECT\":4,\"PROJECTED\":5355,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:16:26\",\"CAPABILITY\":4075,\"RUNNING\":36.41,\"FAULT\":9.81,\"CYCLESTOP\":2.56,\"MATERIALSTOP\":0,\"BLOCKED\":47.26,\"STARVED\":0,\"CYCLETIME\":2.4,\"AVAILABILITY\":83.67,\"PERFORMANCE\":35.59,\"QUALITY\":99.92,\"OEE\":29.75},{\"SHIFT\":0,\"ZONE\":1,\"MODULE\":\"GROS\",\"LIGHT\":16,\"STATE\":10,\"PPM\":27,\"INS\":3553,\"OUTS\":3531,\"LOSS\":22,\"REJECT\":22,\"PROJECTED\":15590,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:35:36\",\"CAPABILITY\":5216,\"RUNNING\":81.64,\"FAULT\":0,\"CYCLESTOP\":0,\"MATERIALSTOP\":0,\"BLOCKED\":2.96,\"STARVED\":10.81,\"CYCLETIME\":1.88,\"AVAILABILITY\":95.42,\"PERFORMANCE\":71.36,\"QUALITY\":99.38,\"OEE\":67.67},{\"SHIFT\":0,\"ZONE\":2,\"MODULE\":\"HEL1\",\"LIGHT\":130,\"STATE\":0,\"PPM\":7,\"INS\":829,\"OUTS\":817,\"LOSS\":12,\"REJECT\":12,\"PROJECTED\":3607,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:54:30\",\"CAPABILITY\":2934,\"RUNNING\":51.98,\"FAULT\":22.06,\"CYCLESTOP\":2.6,\"MATERIALSTOP\":0.12,\"BLOCKED\":4.8,\"STARVED\":13.43,\"CYCLETIME\":3.33,\"AVAILABILITY\":70.22,\"PERFORMANCE\":40.22,\"QUALITY\":98.55,\"OEE\":27.83},{\"SHIFT\":0,\"ZONE\":2,\"MODULE\":\"HEL2\",\"LIGHT\":1,\"STATE\":0,\"PPM\":1,\"INS\":376,\"OUTS\":359,\"LOSS\":17,\"REJECT\":17,\"PROJECTED\":1585,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:15:24\",\"CAPABILITY\":2934,\"RUNNING\":25.14,\"FAULT\":38.7,\"CYCLESTOP\":9.87,\"MATERIALSTOP\":0.08,\"BLOCKED\":5.76,\"STARVED\":15.33,\"CYCLETIME\":3.33,\"AVAILABILITY\":46.24,\"PERFORMANCE\":27.7,\"QUALITY\":95.48,\"OEE\":12.23},{\"SHIFT\":0,\"ZONE\":2,\"MODULE\":\"HEL3\",\"LIGHT\":130,\"STATE\":0,\"PPM\":8,\"INS\":415,\"OUTS\":397,\"LOSS\":18,\"REJECT\":18,\"PROJECTED\":1752,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:56:46\",\"CAPABILITY\":2934,\"RUNNING\":30.81,\"FAULT\":18.81,\"CYCLESTOP\":4.44,\"MATERIALSTOP\":0.14,\"BLOCKED\":5.97,\"STARVED\":34.83,\"CYCLETIME\":3.33,\"AVAILABILITY\":71.61,\"PERFORMANCE\":19.74,\"QUALITY\":95.66,\"OEE\":13.53},{\"SHIFT\":0,\"ZONE\":2,\"MODULE\":\"HEL4\",\"LIGHT\":1,\"STATE\":0,\"PPM\":4,\"INS\":181,\"OUTS\":160,\"LOSS\":21,\"REJECT\":21,\"PROJECTED\":706,\"ELAPSED\":\"02:43:04\",\"UP\":\"01:23:24\",\"CAPABILITY\":2934,\"RUNNING\":12.51,\"FAULT\":9.85,\"CYCLESTOP\":21.81,\"MATERIALSTOP\":0.12,\"BLOCKED\":0.33,\"STARVED\":38.31,\"CYCLETIME\":3.33,\"AVAILABILITY\":51.14,\"PERFORMANCE\":12.06,\"QUALITY\":88.4,\"OEE\":5.45},{\"SHIFT\":0,\"ZONE\":2,\"MODULE\":\"MTDV\",\"LIGHT\":80,\"STATE\":10,\"PPM\":8,\"INS\":1888,\"OUTS\":1786,\"LOSS\":102,\"REJECT\":102,\"PROJECTED\":7885,\"ELAPSED\":\"02:43:04\",\"UP\":\"02:34:34\",\"CAPABILITY\":5705,\"RUNNING\":65.35,\"FAULT\":0,\"CYCLESTOP\":1.12,\"MATERIALSTOP\":0,\"BLOCKED\":0.1,\"STARVED\":29.33,\"CYCLETIME\":1.71,\"AVAILABILITY\":94.79,\"PERFORMANCE\":34.9,\"QUALITY\":94.6,\"OEE\":31.29}]","payloadType":"json","x":190,"y":180,"wires":[["c885fdcc4681463a","6ace752ddb02cf19","36c497e4c15695a6","663b81bdfbbaac3a"]]},{"id":"c885fdcc4681463a","type":"ui-chart","z":"c02f2e0cc14e8a32","group":"abf699a4e9f05187","name":"","label":"Module PPM","order":1,"chartType":"bar","category":"PPM","categoryType":"str","xAxisLabel":"Module","xAxisProperty":"MODULE","xAxisPropertyType":"property","xAxisType":"category","xAxisFormat":"HH:00","xAxisFormatType":"custom","xmin":"","xmax":"","yAxisLabel":"Parts","yAxisProperty":"PPM","yAxisPropertyType":"property","ymin":"0","ymax":"35","bins":10,"action":"replace","stackSeries":false,"pointShape":"false","pointRadius":4,"showLegend":true,"removeOlder":1,"removeOlderUnit":"1","removeOlderPoints":"","colors":["#0095ff","#add8e6","#ff7f0e","#2ca02c","#a347e1","#d62728","#ff9896","#9467bd","#c5b0d5"],"textColor":["#f2eded"],"textColorDefault":false,"gridColor":["#e5e5e5"],"gridColorDefault":true,"width":"6","height":"6","className":"","interpolation":"linear","x":410,"y":140,"wires":[[]]},{"id":"6ace752ddb02cf19","type":"ui-chart","z":"c02f2e0cc14e8a32","group":"abf699a4e9f05187","name":"","label":"Module Performance","order":3,"chartType":"bar","category":"[\"QUALITY\",\"AVAILABILITY\",\"PERFORMANCE\"]","categoryType":"json","xAxisLabel":"Module","xAxisProperty":"MODULE","xAxisPropertyType":"property","xAxisType":"category","xAxisFormat":"HH:00","xAxisFormatType":"custom","xmin":"","xmax":"","yAxisLabel":"Parts","yAxisProperty":"PPM","yAxisPropertyType":"property","ymin":"0","ymax":"100","bins":10,"action":"replace","stackSeries":false,"pointShape":"false","pointRadius":4,"showLegend":true,"removeOlder":1,"removeOlderUnit":"1","removeOlderPoints":"","colors":["#0095ff","#add8e6","#ff7f0e","#2ca02c","#a347e1","#d62728","#ff9896","#9467bd","#c5b0d5"],"textColor":["#f2eded"],"textColorDefault":false,"gridColor":["#e5e5e5"],"gridColorDefault":true,"width":"6","height":"6","className":"","interpolation":"linear","x":440,"y":180,"wires":[[]]},{"id":"36c497e4c15695a6","type":"ui-chart","z":"c02f2e0cc14e8a32","group":"abf699a4e9f05187","name":"","label":"Module Status","order":4,"chartType":"bar","category":"[\"FAULT\",\"CYCLESTOP\",\"BLOCKED\",\"STARVED\",\"MATERIALSTOP\",\"RUNNING\"]","categoryType":"json","xAxisLabel":"Module","xAxisProperty":"MODULE","xAxisPropertyType":"property","xAxisType":"category","xAxisFormat":"HH:00","xAxisFormatType":"custom","xmin":"","xmax":"","yAxisLabel":"%","yAxisProperty":"OEE","yAxisPropertyType":"property","ymin":"0","ymax":"100","bins":10,"action":"replace","stackSeries":true,"pointShape":"false","pointRadius":4,"showLegend":true,"removeOlder":1,"removeOlderUnit":"1","removeOlderPoints":"","colors":["#d62728","#add8e6","#0f83ff","#ff7f0e","#a347e1","#5cd728","#ff9896","#9467bd","#c5b0d5"],"textColor":["#f2eded"],"textColorDefault":false,"gridColor":["#e5e5e5"],"gridColorDefault":true,"width":"6","height":"6","className":"","interpolation":"linear","x":420,"y":220,"wires":[[]]},{"id":"663b81bdfbbaac3a","type":"ui-chart","z":"c02f2e0cc14e8a32","group":"abf699a4e9f05187","name":"","label":"Module Outs","order":2,"chartType":"bar","category":"OUTS","categoryType":"str","xAxisLabel":"Module","xAxisProperty":"MODULE","xAxisPropertyType":"property","xAxisType":"category","xAxisFormat":"HH:00","xAxisFormatType":"custom","xmin":"","xmax":"","yAxisLabel":"Parts","yAxisProperty":"OUTS","yAxisPropertyType":"property","ymin":"0","ymax":"","bins":10,"action":"replace","stackSeries":false,"pointShape":"false","pointRadius":4,"showLegend":true,"removeOlder":1,"removeOlderUnit":"1","removeOlderPoints":"","colors":["#0095ff","#add8e6","#ff7f0e","#2ca02c","#a347e1","#d62728","#ff9896","#9467bd","#c5b0d5"],"textColor":["#f2eded"],"textColorDefault":false,"gridColor":["#e5e5e5"],"gridColorDefault":true,"width":"6","height":"6","className":"","interpolation":"linear","x":410,"y":260,"wires":[[]]},{"id":"abf699a4e9f05187","type":"ui-group","name":"Sample","page":"8bf17c6affdbe6ee","width":"12","height":1,"order":1,"showTitle":false,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"8bf17c6affdbe6ee","type":"ui-page","name":"Sample","ui":"4740393b964cb7af","path":"/sample","icon":"home","layout":"grid","theme":"11edfaf96d0baec1","breakpoints":[{"name":"Default","px":"0","cols":"3"},{"name":"Tablet","px":"576","cols":"6"},{"name":"Small Desktop","px":"768","cols":"9"},{"name":"Desktop","px":"1024","cols":"12"}],"order":19,"className":"","visible":"true","disabled":"false"},{"id":"4740393b964cb7af","type":"ui-base","name":"Tiger","path":"/dashboard","appIcon":"","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control","ui-dropdown","ui-chart","ui-gauge","ui-button","ui-template"],"showPathInSidebar":false,"headerContent":"page","navigationStyle":"fixed","titleBarStyle":"hidden","showReconnectNotification":true,"notificationDisplayTime":"1","showDisconnectNotification":true},{"id":"11edfaf96d0baec1","type":"ui-theme","name":"Dark1","colors":{"surface":"#424242","primary":"#0094ce","bgPage":"#424242","groupBg":"#424242","groupOutline":"#424242"},"sizes":{"density":"default","pagePadding":"2px","groupGap":"6px","groupBorderRadius":"4px","widgetGap":"10px"}}]

Display

@gerrybartley would you have any objections if we used this as an example on https://dashboard.flowfuse.com please?

No objections at all. If it helps others I'm all for it

Thanks @gerrybartley - I've just opened Add carousel of Dashboard examples (with links to source) by joepavitt · Pull Request #1659 · FlowFuse/node-red-dashboard · GitHub to feature it (and some others) on the home page of the Dashboard website

Super Useful. Thank you.

How do i make it a clickable graph, so if i want to get more details on a particular machine, i can use the output to send details to another graph.

You'll have to delve into template node to create that functionality

Look at this post from @hotNipi https://discourse.nodered.org/t/how-to-create-charts-similar-to-powerbi-using-node-red/75883/5?u=gerrybartley

It might point you in the right direction,. Otherwise post your question as a new topic so others can assist

Thanks.
@hotNipi solution is exactly what I was looking for, although it is for the older dashboard. I am already in process of migrating to new dashboard.
But this will be useful for a dashboard which I am still continuing to use.
I will start a new thread for D2.

Same library. More options thus more up to date. Should be more than possible to make such kind of interactivity.

Waiting with bated breath....
Miss your November Give aways. Do ai have to wait till November :wink:

Is there somewhere Time Market? I'd love to go and at least explore the prices.

I eventually succeeded in getting a clickable graph using ui-template node and with help of the Forum. for any one interested, i am giving a link below