diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SAT9/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SAT9/view.json
index e8d212a..c1a5e6e 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SAT9/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SAT9/view.json
@@ -11,7 +11,7 @@
"children": [
{
"meta": {
- "name": "SAT9 Overview"
+ "name": "OVERVIEW_WITHOUT_SORTER"
},
"position": {
"height": 1,
@@ -2128,134 +2128,6 @@
"x": "-1949.1479",
"y": "490.47375"
},
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "1666.5436",
- "id": "rect1-6-2-0-0-4-8-1-2-2-0-6",
- "name": "rect1-6-2-0-0-4-8-1-2-2-0-6",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "0.645593"
- },
- "transform": "matrix(0,1,1,0,0,0)",
- "type": "rect",
- "width": "8.3544312",
- "x": "698.2785",
- "y": "348.81293"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "1662.324",
- "id": "rect1-6-2-0-0-4-8-1-2-2-0-6-8",
- "name": "rect1-6-2-0-0-4-8-1-2-2-0-6-8",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "0.645593"
- },
- "transform": "matrix(0,1,1,0,0,0)",
- "type": "rect",
- "width": "8.3332787",
- "x": "1011.6703",
- "y": "353.08286"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "232.67612",
- "id": "rect1-6-2-0-0-6-8-3-3-4",
- "name": "rect1-6-2-0-0-6-8-3-3-4",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "0.776935"
- },
- "transform": "scale(-1,1)",
- "type": "rect",
- "width": "8.2230225",
- "x": "-2059.7766",
- "y": "743.32825"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "235.39311",
- "id": "rect1-6-2-0-0-6-8-3-3-4-0",
- "name": "rect1-6-2-0-0-6-8-3-3-4-0",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "0.776935"
- },
- "transform": "scale(-1,1)",
- "type": "rect",
- "width": "8.2230225",
- "x": "-313.08441",
- "y": "743.07892"
- },
- {
- "d": "m 313.12808,741.58463 h -8.06558 c 0,0 -0.98983,-16.12029 14.53775,-31.61634 11.63476,-11.61112 28.0068,-11.76377 28.0068,-11.76377 l -0.007,7.97581 c 0,0 -15.38735,-0.55402 -25.34118,13.25081 -9.95383,13.80482 -9.13089,22.15349 -9.13089,22.15349 z",
- "fill": {
- "paint": "#ffffff"
- },
- "id": "path1",
- "name": "path1",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "path"
- },
- {
- "d": "m 305.06489,979.78162 c 0,0 0.46812,13.47398 13.37344,27.22578 12.90533,13.7517 33.43869,12.8397 33.43869,12.8397 l -0.007,-7.9758 c 0,0 -18.31709,-0.7284 -27.88239,-12.2564 -9.5653,-11.52809 -11.04651,-19.88615 -11.04651,-19.88615 z",
- "fill": {
- "paint": "#ffffff"
- },
- "id": "path1-8",
- "name": "path1-8",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "path"
- },
- {
- "d": "m 2051.2823,741.85741 h 8.0656 c 0,0 0.9898,-16.12029 -14.5378,-31.61634 -11.6347,-11.61112 -28.0068,-11.76377 -28.0068,-11.76377 l 0.01,7.97581 c 0,0 15.3874,-0.55402 25.3412,13.25081 9.9538,13.80482 9.1309,22.15349 9.1309,22.15349 z",
- "fill": {
- "paint": "#ffffff"
- },
- "id": "path1-4",
- "name": "path1-4",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "path"
- },
- {
- "d": "m 2016.4797,1011.8657 v 8.0656 c 0,0 16.1203,0.9898 31.6163,-14.5378 11.6111,-11.63473 11.7638,-28.00683 11.7638,-28.00683 l -7.9758,0.01 c 0,0 0.554,15.3874 -13.2508,25.34123 -13.8049,9.9538 -22.1535,9.1309 -22.1535,9.1309 z",
- "fill": {
- "paint": "#ffffff"
- },
- "id": "path1-4-6",
- "name": "path1-4-6",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "path"
- },
{
"fill": {
"paint": "#ffffff"
@@ -6109,407 +5981,6 @@
"x": "874.86755",
"y": "711.28381"
},
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "26.700401",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.13263",
- "y": "370.00912"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "24.551933",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.22281",
- "y": "398.44321"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "25.137875",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.73062",
- "y": "441.49808"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "25.137875",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.84003",
- "y": "467.9823"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "25.137875",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.76181",
- "y": "509.49875"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "13.340788",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.8244",
- "y": "494.67004"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "15.684578",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4-0",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4-0",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.505855",
- "x": "252.87125",
- "y": "535.87329"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "22.247198",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-2",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-2",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.68182",
- "y": "552.90826"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "22.247198",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-2-7",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-2-7",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.583984",
- "x": "252.68274",
- "y": "576.43237"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "41.469757",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964085",
- "x": "-549.09119",
- "y": "264.94028"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "34.282131",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-548.96185",
- "y": "307.81116"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "35.532158",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-549.10254",
- "y": "344.51431"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "36.70406",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-549.32123",
- "y": "382.13922"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "41.939327",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-2",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-2",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964081",
- "x": "-437.5596",
- "y": "264.56079"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "34.282131",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-2",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-2",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-437.43027",
- "y": "307.90125"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "35.532158",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-7",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-7",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-437.57098",
- "y": "344.6044"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "36.70406",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5-0",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5-0",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-437.78961",
- "y": "382.22931"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "15.684578",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4-0-3",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-4-0-3",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1"
- },
- "type": "rect",
- "width": "10.505855",
- "x": "252.50403",
- "y": "424.38892"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "41.469757",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-9",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-9",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964085",
- "x": "-617.8797",
- "y": "267.38882"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "34.282131",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-3",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-3",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-617.75037",
- "y": "310.2597"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "35.532158",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-9",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-9",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-617.89105",
- "y": "346.96286"
- },
- {
- "fill": {
- "paint": "#ffffff"
- },
- "height": "36.70406",
- "id": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5-1",
- "name": "rect1-6-2-3-7-2-1-6-9-0-3-4-7-5-1-0-7-6-1-8-6-7-3-1-2-5-8-5-8-5-1",
- "stroke": {
- "dasharray": "none",
- "paint": "#000000",
- "width": "1.03591"
- },
- "transform": "rotate(-90)",
- "type": "rect",
- "width": "10.964088",
- "x": "-618.10974",
- "y": "384.58777"
- },
- {
- "d": "m 266.30689,617.87427 c 0,0 -6.06347,-0.11618 -10.06019,-6.55186 -3.99672,-6.43568 -3.50646,-11.44651 -3.50646,-11.44651 l 10.54706,-0.0586 c 0,0 0.0209,1.58776 0.81947,3.73325 0.79854,2.1455 2.20793,3.11257 2.20793,3.11257 z",
- "fill": {
- "paint": "#ffffff"
- },
- "id": "path11",
- "name": "path11",
- "stroke": {
- "dasharray": "none",
- "dashoffset": "0",
- "paint": "#000000",
- "width": "1"
- },
- "type": "path"
- },
{
"fill": {
"paint": "#ffffff"
@@ -6883,6 +6354,164 @@
"type": "group"
}
],
+ "preserveAspectRatio": "none",
+ "viewBox": "0 0 1920 1080"
+ },
+ "type": "ia.shapes.svg"
+ },
+ {
+ "meta": {
+ "name": "SORTER"
+ },
+ "position": {
+ "height": 1,
+ "width": 1
+ },
+ "props": {
+ "elements": [
+ {
+ "id": "defs1",
+ "name": "defs1",
+ "type": "defs"
+ },
+ {
+ "elements": [
+ {
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "height": "1666.5436",
+ "id": "rect1-6-2-0-0-4-8-1-2-2-0-6",
+ "name": "rect1-6-2-0-0-4-8-1-2-2-0-6",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "0.645593"
+ },
+ "transform": "matrix(0,1,1,0,0,0)",
+ "type": "rect",
+ "width": "8.3544312",
+ "x": "698.2785",
+ "y": "348.81293"
+ },
+ {
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "height": "1662.324",
+ "id": "rect1-6-2-0-0-4-8-1-2-2-0-6-8",
+ "name": "rect1-6-2-0-0-4-8-1-2-2-0-6-8",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "0.645593"
+ },
+ "transform": "matrix(0,1,1,0,0,0)",
+ "type": "rect",
+ "width": "8.3332787",
+ "x": "1011.6703",
+ "y": "353.08286"
+ },
+ {
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "height": "232.67612",
+ "id": "rect1-6-2-0-0-6-8-3-3-4",
+ "name": "rect1-6-2-0-0-6-8-3-3-4",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "0.776935"
+ },
+ "transform": "scale(-1,1)",
+ "type": "rect",
+ "width": "8.2230225",
+ "x": "-2059.7766",
+ "y": "743.32825"
+ },
+ {
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "height": "235.39311",
+ "id": "rect1-6-2-0-0-6-8-3-3-4-0",
+ "name": "rect1-6-2-0-0-6-8-3-3-4-0",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "0.776935"
+ },
+ "transform": "scale(-1,1)",
+ "type": "rect",
+ "width": "8.2230225",
+ "x": "-313.08441",
+ "y": "743.07892"
+ },
+ {
+ "d": "m 313.12808,741.58463 h -8.06558 c 0,0 -0.98983,-16.12029 14.53775,-31.61634 11.63476,-11.61112 28.0068,-11.76377 28.0068,-11.76377 l -0.007,7.97581 c 0,0 -15.38735,-0.55402 -25.34118,13.25081 -9.95383,13.80482 -9.13089,22.15349 -9.13089,22.15349 z",
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "id": "path1",
+ "name": "path1",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "1"
+ },
+ "type": "path"
+ },
+ {
+ "d": "m 305.06489,979.78162 c 0,0 0.46812,13.47398 13.37344,27.22578 12.90533,13.7517 33.43869,12.8397 33.43869,12.8397 l -0.007,-7.9758 c 0,0 -18.31709,-0.7284 -27.88239,-12.2564 -9.5653,-11.52809 -11.04651,-19.88615 -11.04651,-19.88615 z",
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "id": "path1-8",
+ "name": "path1-8",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "1"
+ },
+ "type": "path"
+ },
+ {
+ "d": "m 2051.2823,741.85741 h 8.0656 c 0,0 0.9898,-16.12029 -14.5378,-31.61634 -11.6347,-11.61112 -28.0068,-11.76377 -28.0068,-11.76377 l 0.01,7.97581 c 0,0 15.3874,-0.55402 25.3412,13.25081 9.9538,13.80482 9.1309,22.15349 9.1309,22.15349 z",
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "id": "path1-4",
+ "name": "path1-4",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "1"
+ },
+ "type": "path"
+ },
+ {
+ "d": "m 2016.4797,1011.8657 v 8.0656 c 0,0 16.1203,0.9898 31.6163,-14.5378 11.6111,-11.63473 11.7638,-28.00683 11.7638,-28.00683 l -7.9758,0.01 c 0,0 0.554,15.3874 -13.2508,25.34123 -13.8049,9.9538 -22.1535,9.1309 -22.1535,9.1309 z",
+ "fill": {
+ "paint": "#ffffff"
+ },
+ "id": "path1-4-6",
+ "name": "path1-4-6",
+ "stroke": {
+ "dasharray": "none",
+ "paint": "#000000",
+ "width": "1"
+ },
+ "type": "path"
+ }
+ ],
+ "id": "layer1",
+ "name": "layer1",
+ "transform": "rotate(180,1070.0914,631.81195)",
+ "type": "group"
+ }
+ ],
+ "preserveAspectRatio": "none",
"viewBox": "0 0 1920 1080"
},
"type": "ia.shapes.svg"
@@ -6989,11 +6618,101 @@
"path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
},
"type": "ia.display.view"
+ },
+ {
+ "events": {
+ "component": {
+ "onActionPerformed": {
+ "config": {
+ "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM01/MCM01/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])\n\ttag_name2 \u003d self.view.params.tagProps[0]\n\ttag_path2 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM02/MCM02/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path2],[True])\n\ttag_name3 \u003d self.view.params.tagProps[0]\n\ttag_path3 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM03/MCM03/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path3],[True])\n\ttag_name4 \u003d self.view.params.tagProps[0]\n\ttag_path4 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM04/MCM04/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path4],[True])\n\ttag_name5 \u003d self.view.params.tagProps[0]\n\ttag_path5 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM05/MCM05/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path5],[True])\n\ttag_name6 \u003d self.view.params.tagProps[0]\n\ttag_path6 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM06/MCM06/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path6],[True])\n\ttag_name7 \u003d self.view.params.tagProps[0]\n\ttag_path7 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM07/MCM07/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path7],[True])"
+ },
+ "scope": "G",
+ "type": "script"
+ }
+ }
+ },
+ "meta": {
+ "name": "Global Start"
+ },
+ "position": {
+ "height": 0.06,
+ "width": 0.1,
+ "x": 0.4083,
+ "y": 0.0518
+ },
+ "props": {
+ "image": {
+ "icon": {
+ "path": "material/not_started"
+ }
+ },
+ "style": {
+ "backgroundColor": "#00B900",
+ "borderStyle": "groove",
+ "borderWidth": 3,
+ "cursor": "pointer"
+ },
+ "text": "Global Start",
+ "textStyle": {
+ "color": "#000000",
+ "fontFamily": "inherit",
+ "fontSize": "1vmin",
+ "fontWeight": "bold"
+ }
+ },
+ "type": "ia.input.button"
+ },
+ {
+ "events": {
+ "component": {
+ "onActionPerformed": {
+ "config": {
+ "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM01/MCM01/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])\n\ttag_name2 \u003d self.view.params.tagProps[0]\n\ttag_path2 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM02/MCM02/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path2],[True])\n\ttag_name3 \u003d self.view.params.tagProps[0]\n\ttag_path3 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM03/MCM03/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path3],[True])\n\ttag_name4 \u003d self.view.params.tagProps[0]\n\ttag_path4 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM04/MCM04/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path4],[True])\n\ttag_name5 \u003d self.view.params.tagProps[0]\n\ttag_path5 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM05/MCM05/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path5],[True])\n\ttag_name6 \u003d self.view.params.tagProps[0]\n\ttag_path6 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM06/MCM06/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path6],[True])\n\ttag_name7 \u003d self.view.params.tagProps[0]\n\ttag_path7 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]System/MCM07/MCM07/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path7],[True])"
+ },
+ "scope": "G",
+ "type": "script"
+ }
+ }
+ },
+ "meta": {
+ "name": "Global Stop"
+ },
+ "position": {
+ "height": 0.06,
+ "width": 0.1,
+ "x": 0.5172,
+ "y": 0.0518
+ },
+ "props": {
+ "image": {
+ "icon": {
+ "path": "material/stop_circle"
+ }
+ },
+ "style": {
+ "backgroundColor": "#F11632",
+ "borderStyle": "groove",
+ "borderWidth": 3,
+ "cursor": "pointer"
+ },
+ "text": "Global Stop",
+ "textStyle": {
+ "color": "#000000",
+ "fontFamily": "inherit",
+ "fontSize": "1vmin",
+ "fontWeight": "bold"
+ }
+ },
+ "type": "ia.input.button"
}
],
"meta": {
"name": "root"
},
+ "position": {
+ "x": 0.1896,
+ "y": 0.0806
+ },
"props": {
"mode": "percent"
},
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM01 Bulk Inbound/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM01 Bulk Inbound/view.json
index e502361..0c275c2 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM01 Bulk Inbound/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM01 Bulk Inbound/view.json
@@ -3774,13 +3774,13 @@
"name": "MCM01"
},
"position": {
- "height": 0.0139,
+ "height": 0.03,
"rotate": {
"angle": 0
},
- "width": 0.0156,
- "x": 0.5254,
- "y": 0.2085
+ "width": 0.04,
+ "x": 0.5,
+ "y": 0.2
},
"props": {
"params": {
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM02 Fluid Inbound/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM02 Fluid Inbound/view.json
index 54ff08d..fef7a38 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM02 Fluid Inbound/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM02 Fluid Inbound/view.json
@@ -4693,11 +4693,11 @@
"name": "MCM02"
},
"position": {
- "height": 0.0139,
+ "height": 0.03,
"rotate": {
"angle": 0
},
- "width": 0.0156,
+ "width": 0.04,
"x": 0.7368,
"y": 0.2671
},
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM03 Fluid Inbound/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM03 Fluid Inbound/view.json
index 2b622ad..ec5dd76 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM03 Fluid Inbound/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM03 Fluid Inbound/view.json
@@ -4436,12 +4436,12 @@
"name": "MCM03"
},
"position": {
- "height": 0.0139,
+ "height": 0.03,
"rotate": {
"angle": 0
},
- "width": 0.0156,
- "x": 0.6014,
+ "width": 0.04,
+ "x": 0.5929,
"y": 0.1889
},
"props": {
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM04 Sorter Destination, Chutes and Bypass/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM04 Sorter Destination, Chutes and Bypass/view.json
index 3fc2a68..5b48139 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM04 Sorter Destination, Chutes and Bypass/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM04 Sorter Destination, Chutes and Bypass/view.json
@@ -7607,13 +7607,13 @@
"name": "MCM04"
},
"position": {
- "height": 0.0139,
+ "height": 0.03,
"rotate": {
"angle": 0
},
- "width": 0.0156,
- "x": 0.3714,
- "y": 0.7028
+ "width": 0.04,
+ "x": 0.3704,
+ "y": 0.7093
},
"props": {
"params": {
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM05 Sorter Destination and Chutes/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM05 Sorter Destination and Chutes/view.json
index 9d930a8..4cb6440 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM05 Sorter Destination and Chutes/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Detailed-Views/MCM05 Sorter Destination and Chutes/view.json
@@ -7172,13 +7172,13 @@
"name": "MCM05"
},
"position": {
- "height": 0.0139,
+ "height": 0.03,
"rotate": {
"angle": 0
},
- "width": 0.0156,
- "x": 0.4969,
- "y": 0.4408
+ "width": 0.04,
+ "x": 0.5037,
+ "y": 0.4436
},
"props": {
"params": {
diff --git a/SAT9_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json b/SAT9_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json
index 8fa87ff..45c13c6 100644
--- a/SAT9_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json
+++ b/SAT9_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json
@@ -1,7 +1,7 @@
{
"custom": {},
"params": {
- "Tab_ID": 0,
+ "Tab_ID": 1,
"Table": "Statistics"
},
"propConfig": {
@@ -1322,7 +1322,7 @@
"normal": {
"fill": {
"color": "",
- "opacity": "nu"
+ "opacity": null
},
"stroke": {
"color": "",
@@ -1608,19 +1608,19 @@
"custom.mode": {
"binding": {
"config": {
- "expression": "{..../Statistics.props.currentTabIndex} + {..../Period_not_Global_0/Period.props.value} + {..../Period_not_Global_0/EndTime.custom.Selected}+{..../Period_not_Global_0/StartTime.custom.Selected} + {this.custom.time} + {..../Lane Drop Down/Lane.props.value} + {..../Aggregation_Mode/Dropdown_Aggregation_mode.props.value}"
+ "expression": "{..../Statistics.props.currentTabIndex} \r\n+ {..../Period_not_Global_0/Period.props.value} \r\n+ {..../Period_not_Global_0/EndTime.custom.Selected}\r\n+ {..../Period_not_Global_0/StartTime.custom.Selected} \r\n+ {this.custom.time} \r\n+ {..../Lane Drop Down/Lane.props.value} \r\n+ {..../Aggregation_Mode/Dropdown_Aggregation_mode.props.value}\r\n"
},
"type": "expr"
},
"onChange": {
"enabled": null,
- "script": "\t\n\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1\",\"Cycles of ULGL2\",\"Cycles of ULGL3\"]\n\t\t\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (%)\",\"Cycles of ULGL2 (%)\",\"Cycles of ULGL3 (%)\"]\n\t\t\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (cph)\",\"Cycles of ULGL2 (cph)\",\"Cycles of ULGL3 (cph)\"]\n\t\t\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\t\n\tparams \u003d {\"starttime\":self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\"endtime\":self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\"dumper\":self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path,params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d \trow[\u0027Hour\u0027]\n\t\tdict[\u0027ULGL1\u0027] \u003d row[\u0027ULGL1\u0027]\n\t\tdict[\u0027ULGL2\u0027] \u003d row[\u0027ULGL2\u0027]\n\t\tdict[\u0027ULGL3\u0027] \u003d row[\u0027ULGL3\u0027]\n\t\n\t\tgraph.append(dict)\n\t\n\tself.getSibling(\"Dumper_cycles\").props.dataSources.example \u003d graph\n\tself.props.data \u003d system.dataset.toDataSet(headers,data)"
+ "script": "\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1\",\"Cycles of ULGL2\",\"Cycles of ULGL3\",\"Cycles of ULGL4\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (%)\",\"Cycles of ULGL2 (%)\",\"Cycles of ULGL3 (%)\",\"Cycles of ULGL4 (%)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\t\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (cph)\",\"Cycles of ULGL2 (cph)\",\"Cycles of ULGL3 (cph)\",\"Cycles of ULGL4 (cph)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\tparams \u003d {\n\t\t\"starttime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\n\t\t\"endtime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\n\t\t\"dumper\": self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value\n\t}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path, params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d row[\u0027Hour\u0027]\n\t\tdict[\u0027ULGL1\u0027] \u003d row[\u0027ULGL1\u0027]\n\t\tdict[\u0027ULGL2\u0027] \u003d row[\u0027ULGL2\u0027]\n\t\tdict[\u0027ULGL3\u0027] \u003d row[\u0027ULGL3\u0027]\n\t\tdict[\u0027ULGL4\u0027] \u003d row[\u0027ULGL4\u0027]\n\t\t\n\t\tgraph.append(dict)\n\t\n\t# GET CHART COMPONENT\n\tdumper_chart \u003d self.getSibling(\"Dumper_cycles\")\n\t\n\t# SOLUTION 1: Replace entire dataSources object (MOST RELIABLE)\n\tdumper_chart.props.dataSources \u003d {\"example\": graph}\n\t\n\t# SOLUTION 2: Update table data\n\tself.props.data \u003d system.dataset.toDataSet(headers, data)"
}
},
"custom.time": {
"binding": {
"config": {
- "expression": "now(10000000)"
+ "expression": "now()"
},
"type": "expr"
}
@@ -2035,18 +2035,110 @@
"viewPath": "",
"visible": true,
"width": ""
+ },
+ {
+ "align": "center",
+ "boolean": "checkbox",
+ "dateFormat": "MM/DD/YYYY",
+ "editable": false,
+ "field": "ulg4",
+ "filter": {
+ "boolean": {
+ "condition": ""
+ },
+ "date": {
+ "condition": "",
+ "value": ""
+ },
+ "enabled": false,
+ "number": {
+ "condition": "",
+ "value": ""
+ },
+ "string": {
+ "condition": "",
+ "value": ""
+ },
+ "visible": "on-hover"
+ },
+ "footer": {
+ "align": "center",
+ "justify": "left",
+ "style": {
+ "classes": ""
+ },
+ "title": ""
+ },
+ "header": {
+ "align": "center",
+ "justify": "left",
+ "style": {
+ "classes": ""
+ },
+ "title": "ulg4"
+ },
+ "justify": "auto",
+ "nullFormat": {
+ "includeNullStrings": false,
+ "nullFormatValue": "",
+ "strict": false
+ },
+ "number": "value",
+ "numberFormat": "0,0.##",
+ "progressBar": {
+ "bar": {
+ "color": "",
+ "style": {
+ "classes": ""
+ }
+ },
+ "max": 100,
+ "min": 0,
+ "track": {
+ "color": "",
+ "style": {
+ "classes": ""
+ }
+ },
+ "value": {
+ "enabled": true,
+ "format": "0,0.##",
+ "justify": "center",
+ "style": {
+ "classes": ""
+ }
+ }
+ },
+ "render": "auto",
+ "resizable": true,
+ "sort": "none",
+ "sortable": true,
+ "strictWidth": false,
+ "style": {
+ "classes": ""
+ },
+ "toggleSwitch": {
+ "color": {
+ "selected": "",
+ "unselected": ""
+ }
+ },
+ "viewParams": {},
+ "viewPath": "",
+ "visible": true,
+ "width": ""
}
],
"data": {
"$": [
"ds",
192,
- 1754319545966
+ 1757517367414
],
"$columns": [
{
"data": [
- "2025-08-04 18:00"
+ "2025-09-10 19:00"
],
"name": "Start Timestamp",
"type": "String"
@@ -2060,24 +2152,31 @@
},
{
"data": [
- null
+ 1
],
"name": "Cycles of ULGL1",
- "type": "String"
+ "type": "Double"
},
{
"data": [
- null
+ 0
],
"name": "Cycles of ULGL2",
- "type": "String"
+ "type": "Double"
},
{
"data": [
- null
+ 1
],
"name": "Cycles of ULGL3",
- "type": "String"
+ "type": "Double"
+ },
+ {
+ "data": [
+ 2
+ ],
+ "name": "Cycles of ULGL4",
+ "type": "Double"
}
]
},
@@ -2114,9 +2213,10 @@
"example": [
{
"Hour": "H0",
- "ULGL1": null,
- "ULGL2": null,
- "ULGL3": null
+ "ULGL1": 1,
+ "ULGL2": 0,
+ "ULGL3": 1,
+ "ULGL4": 2
}
]
},
@@ -2903,6 +3003,214 @@
"xAxis": "Hour",
"yAxis": "Total",
"zIndex": 0
+ },
+ {
+ "candlestick": {
+ "appearance": {
+ "deriveFieldsFromData": {
+ "fill": {
+ "color": "",
+ "opacity": ""
+ },
+ "stroke": {
+ "color": "",
+ "opacity": "",
+ "width": ""
+ }
+ },
+ "fill": {
+ "color": "",
+ "opacity": 0
+ },
+ "heatRules": {
+ "dataField": "",
+ "enabled": false,
+ "max": "",
+ "min": ""
+ },
+ "stacked": false,
+ "stroke": {
+ "color": "",
+ "opacity": 1,
+ "width": 3
+ }
+ },
+ "high": {
+ "x": "",
+ "y": ""
+ },
+ "low": {
+ "x": "",
+ "y": ""
+ },
+ "open": {
+ "x": "",
+ "y": ""
+ }
+ },
+ "column": {
+ "appearance": {
+ "deriveFieldsFromData": {
+ "fill": {
+ "color": "",
+ "opacity": ""
+ },
+ "stroke": {
+ "color": "",
+ "opacity": "",
+ "width": ""
+ }
+ },
+ "fill": {
+ "color": "#FF008B",
+ "opacity": 1
+ },
+ "heatRules": {
+ "dataField": "",
+ "enabled": false,
+ "max": "",
+ "min": ""
+ },
+ "height": null,
+ "stacked": true,
+ "stroke": {
+ "color": "#FF008B",
+ "opacity": 1,
+ "width": 3
+ },
+ "width": null
+ },
+ "open": {
+ "x": "",
+ "y": ""
+ }
+ },
+ "data": {
+ "source": "example",
+ "x": "Hour",
+ "y": "ULGL4"
+ },
+ "defaultState": {
+ "visible": true
+ },
+ "hiddenInLegend": false,
+ "label": {
+ "text": "Dest Jam"
+ },
+ "line": {
+ "appearance": {
+ "bullets": [],
+ "connect": true,
+ "fill": {
+ "color": "",
+ "opacity": 1
+ },
+ "minDistance": 0.5,
+ "stroke": {
+ "color": "",
+ "dashArray": "",
+ "opacity": 1,
+ "width": 3
+ },
+ "tensionX": 1,
+ "tensionY": 1
+ },
+ "open": {
+ "x": "",
+ "y": ""
+ }
+ },
+ "name": "ULGL4",
+ "render": "column",
+ "stepLine": {
+ "appearance": {
+ "bullets": [
+ {
+ "deriveFieldsFromData": {
+ "fill": {
+ "color": "",
+ "opacity": ""
+ },
+ "rotation": "",
+ "stroke": {
+ "color": "",
+ "opacity": "",
+ "width": ""
+ }
+ },
+ "enabled": true,
+ "fill": {
+ "color": "",
+ "opacity": 1
+ },
+ "heatRules": {
+ "dataField": "",
+ "enabled": false,
+ "max": 100,
+ "min": 2
+ },
+ "height": 10,
+ "label": {
+ "position": {
+ "dx": 0,
+ "dy": 0
+ },
+ "text": "{value}"
+ },
+ "render": "circle",
+ "rotation": 0,
+ "stroke": {
+ "color": "",
+ "opacity": 1,
+ "width": 1
+ },
+ "tooltip": {
+ "background": {
+ "color": "",
+ "opacity": 1
+ },
+ "cornerRadius": 3,
+ "enabled": true,
+ "pointerLength": 4,
+ "text": "{name}: [bold]{valueY}[/]"
+ },
+ "width": 10
+ }
+ ],
+ "connect": true,
+ "fill": {
+ "color": "",
+ "opacity": 0
+ },
+ "minDistance": 0.5,
+ "stroke": {
+ "color": "",
+ "dashArray": "",
+ "opacity": 1,
+ "width": 3
+ },
+ "tensionX": 1,
+ "tensionY": 1
+ },
+ "open": {
+ "x": "",
+ "y": ""
+ }
+ },
+ "tooltip": {
+ "background": {
+ "color": "",
+ "opacity": 1
+ },
+ "cornerRadius": 3,
+ "enabled": true,
+ "pointerLength": 4,
+ "text": "ULGL4 (#): [bold]{valueY}[/]"
+ },
+ "visible": true,
+ "xAxis": "Hour",
+ "yAxis": "Total",
+ "zIndex": 0
}
],
"xAxes": [
@@ -3100,8 +3408,7 @@
}
],
"meta": {
- "name": "Statistics",
- "visible": "TRUE"
+ "name": "Statistics"
},
"position": {
"height": 0.96,
@@ -3109,29 +3416,40 @@
"y": 0.04
},
"propConfig": {
- "meta.visible": {
- "binding": {
- "config": {
- "expression": ""
- },
- "enabled": false,
- "type": "expr"
- }
- },
"props.tabs": {
"persistent": true
}
},
"props": {
+ "currentTabIndex": 1,
"menuStyle": {
- "backgroundColor": "#FFFFFFBD"
+ "backgroundColor": "#FFFFFFBD",
+ "fontSize": "1.0vmin",
+ "overflowWrap": "break-word",
+ "textAlign": "left"
},
"style": {
- "fontFamily": "Arial"
+ "fontFamily": "Arial",
+ "width": "100%"
},
"tabSize": {
"width": 160
},
+ "tabStyle": {
+ "active": {
+ "flexBasis": 0,
+ "flexGrow": 1,
+ "fontSize": "1.0vmin"
+ },
+ "disabled": {
+ "fontSize": "1.0vmin"
+ },
+ "inactive": {
+ "flexBasis": 0,
+ "flexGrow": 1,
+ "fontSize": "1.0vmin"
+ }
+ },
"tabs": [
"Jam by Area",
"Dumper cycles"
@@ -3146,7 +3464,8 @@
"name": "Label"
},
"position": {
- "basis": "162px"
+ "basis": "50px",
+ "grow": 1
},
"props": {
"style": {
@@ -3161,9 +3480,15 @@
"name": "Dropdown_Aggregation_mode"
},
"position": {
- "basis": "171px"
+ "basis": "100px",
+ "grow": 1
},
"props": {
+ "dropdownOptionStyle": {
+ "fontSize": "1.5vmin",
+ "overflow": "hidden",
+ "width": "auto"
+ },
"options": [
{
"label": "Count",
@@ -3178,6 +3503,9 @@
"value": "Rate"
}
],
+ "style": {
+ "fontSize": "1.5vmin"
+ },
"value": "Count"
},
"type": "ia.input.dropdown"
@@ -3205,7 +3533,9 @@
},
"props": {
"style": {
- "fontFamily": "Arial"
+ "fontFamily": "Arial",
+ "fontSize": "1.3vmin",
+ "overflow": "hidden"
}
},
"type": "ia.container.flex"
@@ -5363,8 +5693,8 @@
"position": {
"height": 0.03,
"width": 0.0625,
- "x": 0.9351,
- "y": -0.0132
+ "x": 0.9341,
+ "y": 0.0054
},
"propConfig": {
"meta.tooltip.text": {
@@ -5380,11 +5710,12 @@
"mode": "percent",
"style": {
"classes": "Button_Action",
- "fontFamily": "Arial",
- "marginBottom": "2px",
- "marginTop": "16px"
+ "fontFamily": "Arial"
},
- "text": "Export to CSV"
+ "text": "Export to CSV",
+ "textStyle": {
+ "fontSize": "1.0vmin"
+ }
},
"type": "ia.input.button"
},
@@ -5395,7 +5726,8 @@
"name": "LPeriod"
},
"position": {
- "basis": "60px"
+ "basis": "60px",
+ "grow": 1
},
"props": {
"style": {
@@ -5410,9 +5742,15 @@
"name": "Period"
},
"position": {
- "basis": "160px"
+ "basis": "140px",
+ "grow": 1
},
"props": {
+ "dropdownOptionStyle": {
+ "fontSize": "1.5vmin",
+ "overflow": "hidden",
+ "width": "auto"
+ },
"options": [
{
"label": "Past 30 Min",
@@ -5467,6 +5805,9 @@
"value": "Custom"
}
],
+ "style": {
+ "fontSize": "1.5vmin"
+ },
"value": "Past Hour"
},
"type": "ia.input.dropdown"
@@ -5476,7 +5817,8 @@
"name": "Spare_0"
},
"position": {
- "basis": "18.1px"
+ "basis": "18.1px",
+ "grow": 1
},
"type": "ia.display.label"
},
@@ -5485,7 +5827,8 @@
"name": "Start Date"
},
"position": {
- "basis": "85px"
+ "basis": "85px",
+ "grow": 1
},
"props": {
"style": {
@@ -5520,6 +5863,10 @@
"meta": {
"name": "StartTime"
},
+ "position": {
+ "basis": "190px",
+ "grow": 1
+ },
"propConfig": {
"props.enabled": {
"binding": {
@@ -5620,19 +5967,27 @@
},
"props": {
"dismissOnSelect": false,
- "formattedValue": "Aug 4, 2025 6:08 PM",
+ "formattedValue": "Sep 10, 2025 6:16 PM",
"formattedValues": {
"date": "Mar 26, 2021",
"datetime": "Mar 26, 2021 12:00 AM",
"time": "12:00 AM"
},
+ "inputProps": {
+ "style": {
+ "fontSize": "1.5vmin"
+ }
+ },
+ "style": {
+ "fontSize": "1.5vmin"
+ },
"value": {
"$": [
"ts",
192,
- 1754320093050
+ 1757517367408
],
- "$ts": 1754316493000
+ "$ts": 1757513767000
}
},
"type": "ia.input.date-time-input"
@@ -5642,7 +5997,8 @@
"name": "Spare"
},
"position": {
- "basis": "18.1px"
+ "basis": "18.1px",
+ "grow": 1
},
"type": "ia.display.label"
},
@@ -5651,7 +6007,8 @@
"name": "End Date"
},
"position": {
- "basis": "81px"
+ "basis": "81px",
+ "grow": 1
},
"props": {
"style": {
@@ -5680,7 +6037,8 @@
"name": "EndTime"
},
"position": {
- "basis": "190px"
+ "basis": "190px",
+ "grow": 1
},
"propConfig": {
"props.enabled": {
@@ -5780,19 +6138,27 @@
},
"props": {
"dismissOnSelect": false,
- "formattedValue": "Aug 4, 2025 7:08 PM",
+ "formattedValue": "Sep 10, 2025 7:16 PM",
"formattedValues": {
"date": "Mar 29, 2021",
"datetime": "Mar 29, 2021 1:37 PM",
"time": "1:37 PM"
},
+ "inputProps": {
+ "style": {
+ "fontSize": "1.5vmin"
+ }
+ },
+ "style": {
+ "fontSize": "1.5vmin"
+ },
"value": {
"$": [
"ts",
192,
- 1754320093050
+ 1757517367408
],
- "$ts": 1754320093000
+ "$ts": 1757517367000
}
},
"type": "ia.input.date-time-input"
@@ -5803,7 +6169,7 @@
},
"position": {
"height": 0.0269,
- "width": 0.413,
+ "width": 0.483,
"x": 0.0025,
"y": 0.0059
},
@@ -5827,98 +6193,12 @@
},
"props": {
"style": {
- "fontFamily": "Arial"
+ "fontFamily": "Arial",
+ "fontSize": "1.5vmin"
}
},
"type": "ia.container.flex"
},
- {
- "meta": {
- "name": "Info",
- "tooltip": {
- "enabled": true,
- "location": "bottom-right",
- "style": {
- "backgroundColor": "#2B2B2BBF",
- "color": "#FFFFFF",
- "fontFamily": "Arial",
- "fontSize": 14,
- "textAlign": "left",
- "white-space": "pre"
- }
- }
- },
- "position": {
- "height": 0.043,
- "width": 0.0208,
- "x": 0.9745,
- "y": 0.0847
- },
- "propConfig": {
- "meta.tooltip.text": {
- "binding": {
- "config": {
- "expression": "if ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 0,\r\n\t\"About: Induct Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Induct Number - induct name.\"+\r\n\t\"\\n\"+\"Total Count - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier Count - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier Count - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 1,\r\n\t\"About: Scanner Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Scanner Number - scanner name.\"+\r\n\t\"\\n\"+\"Total Count - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good Read Count - number of good reads.\"+\r\n\t\"\\n\"+\"No Read Count - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read Count - number of multireads.\"+\r\n\t\"\\n\"+\"No Code Count - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 2,\r\n\t\"About: Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirc - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirc - \"+\r\n\t\"\\n\"+\"Machine Recirc - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 3,\r\n\t\"About: Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted Count - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted Count - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv Count - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None Count - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full Count - the total number of the requested destination for \\n\\t\\tthe container was full. \"+\r\n\t\"\\n\"+\"Unexpected Count - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault Count - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault\"+\r\n\t\"\\n\"+\"Divert Fail Count - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination\tbut failed. \"+\r\n\t\"\\n\"+\"Gap Error Count - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost Count - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count - the total number of\"+\r\n\t\"\\n\"+\"Unsafe Count - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 4,\r\n\t\"About: Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Lane/Chute Number - lane/chute name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted Count - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam Count - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled Count - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail Count - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost Count - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe Count - not applicable.\"+\r\n\t\"\\n\"+\"Dim Error - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error Count - not applicable.\"+\r\n\t\"\\n\"+\"Unknown Count - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 5,\r\n\t\"About: Hourly Induct\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier (#) - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier (#) - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 6,\r\n\t\"About: Hourly Scanner\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good read (#) - number of good reads.\"+\r\n\t\"\\n\"+\"No Read (#) - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read (#) - number of multireads.\"+\r\n\t\"\\n\"+\"No Code (#) - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 7,\r\n\t\"About: Hourly Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total Inducted(#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Total Sorted(#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirculate (#) - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirculate(#) - \"+\r\n\t\"\\n\"+\"Machine Recirculate(#) - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 8,\r\n\t\"About: Hourly Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Inducted (#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted (#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned (#) - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv (#) - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the total number of the requested destination for \\n\\t\\tthe container was full.\"+\r\n\t\"\\n\"+\"Unexpected (#) - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault (#) - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination but failed.\"+\r\n\t\"\\n\"+\"Gap Error (#) - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count (#) - \"+\r\n\t\"\\n\"+\"Unsafe Count (#) - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 9,\r\n\t\"About: Hourly Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted (#) - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam (#) - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled (#) - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dim (#) - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unknown (#) - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 10,\r\n\t\"About: Lane Total Full\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Lane Number - lane name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 11,\r\n\t\"About: Jam by Area\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Jam counts by areas\",\r\n\t\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 12,\r\n\t\"About: Dumper cycles\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Cycles counts by dumpers\",\t\t\r\n\r\n\"not response\")))))))))))))"
- },
- "type": "expr"
- }
- }
- },
- "props": {
- "fit": {
- "mode": "fill"
- },
- "source": "/system/images/MyIcon/question64x64.png",
- "style": {
- "cursor": "pointer"
- }
- },
- "type": "ia.display.image"
- },
- {
- "meta": {
- "name": "Label"
- },
- "position": {
- "height": 0.0344,
- "width": 0.2536,
- "x": 0.5195,
- "y": 0.0041
- },
- "propConfig": {
- "props.text": {
- "binding": {
- "config": {
- "designerUseLimit": false,
- "parameters": {
- "endtime": "{../Period_not_Global_0.custom.EndDate}",
- "starttime": "{../Period_not_Global_0.custom.StartDate}"
- },
- "polling": {
- "enabled": true,
- "rate": "300"
- },
- "queryPath": "Statistics/Max PPH 5 Min"
- },
- "transforms": [
- {
- "code": "\t\n\tmax_pph \u003d system.dataset.toPyDataSet(value)\n\treturn \"Highest Sorted PPH at 5 min Interval: \" + str(int(max_pph[0][0])) + \" pph\"\n\t\n\t",
- "type": "script"
- }
- ],
- "type": "query"
- }
- }
- },
- "props": {
- "style": {
- "color": "#FFFFFF",
- "fontFamily": "Arial",
- "fontSize": 20
- }
- },
- "type": "ia.display.label"
- },
{
"children": [
{
@@ -5990,19 +6270,58 @@
}
},
"type": "ia.container.flex"
+ },
+ {
+ "meta": {
+ "name": "Info",
+ "tooltip": {
+ "enabled": true,
+ "style": {
+ "backgroundColor": "#2B2B2BBF",
+ "color": "#FFFFFF",
+ "fontFamily": "Arial",
+ "fontSize": "1.5vmin",
+ "lineHeight": "1.4",
+ "maxWidth": "40vw",
+ "textAlign": "left",
+ "white-space": "pre"
+ }
+ }
+ },
+ "position": {
+ "height": 0.033,
+ "width": 0.0158,
+ "x": 0.7223,
+ "y": 0.0021
+ },
+ "propConfig": {
+ "meta.tooltip.text": {
+ "binding": {
+ "config": {
+ "expression": "if ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 0,\r\n\t\"About: Induct Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Induct Number - induct name.\"+\r\n\t\"\\n\"+\"Total Count - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier Count - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier Count - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 1,\r\n\t\"About: Scanner Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Scanner Number - scanner name.\"+\r\n\t\"\\n\"+\"Total Count - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good Read Count - number of good reads.\"+\r\n\t\"\\n\"+\"No Read Count - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read Count - number of multireads.\"+\r\n\t\"\\n\"+\"No Code Count - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 2,\r\n\t\"About: Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirc - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirc - \"+\r\n\t\"\\n\"+\"Machine Recirc - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 3,\r\n\t\"About: Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted Count - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted Count - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv Count - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None Count - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full Count - the total number of the requested destination for \\n\\t\\tthe container was full. \"+\r\n\t\"\\n\"+\"Unexpected Count - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault Count - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault\"+\r\n\t\"\\n\"+\"Divert Fail Count - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination\tbut failed. \"+\r\n\t\"\\n\"+\"Gap Error Count - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost Count - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count - the total number of\"+\r\n\t\"\\n\"+\"Unsafe Count - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 4,\r\n\t\"About: Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Lane/Chute Number - lane/chute name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted Count - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam Count - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled Count - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail Count - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost Count - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe Count - not applicable.\"+\r\n\t\"\\n\"+\"Dim Error - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error Count - not applicable.\"+\r\n\t\"\\n\"+\"Unknown Count - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 5,\r\n\t\"About: Hourly Induct\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier (#) - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier (#) - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 6,\r\n\t\"About: Hourly Scanner\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good read (#) - number of good reads.\"+\r\n\t\"\\n\"+\"No Read (#) - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read (#) - number of multireads.\"+\r\n\t\"\\n\"+\"No Code (#) - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 7,\r\n\t\"About: Hourly Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total Inducted(#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Total Sorted(#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirculate (#) - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirculate(#) - \"+\r\n\t\"\\n\"+\"Machine Recirculate(#) - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 8,\r\n\t\"About: Hourly Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Inducted (#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted (#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned (#) - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv (#) - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the total number of the requested destination for \\n\\t\\tthe container was full.\"+\r\n\t\"\\n\"+\"Unexpected (#) - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault (#) - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination but failed.\"+\r\n\t\"\\n\"+\"Gap Error (#) - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count (#) - \"+\r\n\t\"\\n\"+\"Unsafe Count (#) - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 9,\r\n\t\"About: Hourly Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted (#) - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam (#) - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled (#) - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dim (#) - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unknown (#) - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 10,\r\n\t\"About: Lane Total Full\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Lane Number - lane name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 11,\r\n\t\"About: Jam by Area\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Jam counts by areas\",\r\n\t\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 12,\r\n\t\"About: Dumper cycles\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Cycles counts by dumpers\",\t\t\r\n\r\n\"not response\")))))))))))))"
+ },
+ "type": "expr"
+ }
+ }
+ },
+ "props": {
+ "path": "material/help"
+ },
+ "type": "ia.display.icon"
}
],
"meta": {
"name": "root"
},
"position": {
- "x": -0.0073,
- "y": -0.0011
+ "x": 0,
+ "y": 0
},
"props": {
"mode": "percent",
"style": {
- "backgroundColor": "#1A4A5E"
+ "backgroundColor": "#1A4A5E",
+ "overflow": "hidden"
}
},
"type": "ia.container.coord"
diff --git a/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin
new file mode 100644
index 0000000..b84652c
Binary files /dev/null and b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin differ
diff --git a/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin
new file mode 100644
index 0000000..d3dccac
Binary files /dev/null and b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin differ
diff --git a/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin
new file mode 100644
index 0000000..3fd17b0
Binary files /dev/null and b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin differ
diff --git a/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin
new file mode 100644
index 0000000..7e9fbb0
Binary files /dev/null and b/SAT9_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin differ
diff --git a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql
index 3d6f87e..8d01665 100644
--- a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql
+++ b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql
@@ -1,9 +1,12 @@
-SELECT concat(date(dumper_cycles.t_stamp), ' ', hour(dumper_cycles.t_stamp), ':00') as StartTimestamp,
- concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(dumper_cycles.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
- SUM (dumper_cycles.ulgl1 = 1) as ULGL1,
- SUM (dumper_cycles.ulgl2 = 1) as ULGL2,
- SUM (dumper_cycles.ulgl3 = 1) as ULGL3
-
+SELECT
+ CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
+ CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
+
+ SUM(dumper_cycles.ulgl1 = 1) AS ULGL1,
+ SUM(dumper_cycles.ulgl2 = 1) AS ULGL2,
+ SUM(dumper_cycles.ulgl3 = 1) AS ULGL3,
+ SUM(dumper_cycles.ulgl4 = 1) AS ULGL4 -- <-- ADD THIS LINE
+
FROM dumper_cycles
-Where (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
-GROUP BY hour(dumper_cycles.t_stamp)
\ No newline at end of file
+WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
+GROUP BY HOUR(dumper_cycles.t_stamp);
\ No newline at end of file
diff --git a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql
index 20328b7..261d5c2 100644
--- a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql
+++ b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql
@@ -1,13 +1,12 @@
-SELECT concat(date(dumper_cycles.t_stamp), ' ', hour(dumper_cycles.t_stamp), ':00') as StartTimestamp,
- concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(dumper_cycles.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
+SELECT
+ CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
+ CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
+
+ CONCAT(ROUND(SUM(dumper_cycles.ulgl1 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL1,
+ CONCAT(ROUND(SUM(dumper_cycles.ulgl2 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL2,
+ CONCAT(ROUND(SUM(dumper_cycles.ulgl3 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL3,
+ CONCAT(ROUND(SUM(dumper_cycles.ulgl4 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL4 -- <-- ADD THIS LINE
- concat(round(SUM(dumper_cycles.ulgl1 = 1)/COUNT(*) * 100*2,2),'%') AS ULGL1,
- concat(round(SUM(dumper_cycles.ulgl2 = 1)/COUNT(*) * 100*2,2),'%') AS ULGL2,
- concat(round(SUM(dumper_cycles.ulgl3 = 1)/COUNT(*) * 100*2,2),'%') AS ULGL3
-
FROM dumper_cycles
-Where (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
-GROUP BY hour(dumper_cycles.t_stamp)
-
-
-
+WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
+GROUP BY HOUR(dumper_cycles.t_stamp);
\ No newline at end of file
diff --git a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql
index 243f20a..4529b31 100644
--- a/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql
+++ b/SAT9_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql
@@ -1,10 +1,12 @@
-SELECT concat(date(dumper_cycles.t_stamp), ' ', hour(dumper_cycles.t_stamp), ':00') as StartTimestamp,
- concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(dumper_cycles.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
-
- concat(cast(SUM(dumper_cycles.ulgl1 = 1) as char),' cph') AS ULGL1,
- concat(cast(SUM(dumper_cycles.ulgl2 = 1) as char),' cph') AS ULGL2,
- concat(cast(SUM(dumper_cycles.ulgl3 = 1) as char),' cph') AS ULGL3
-
+SELECT
+ CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp,
+ CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour,
+
+ CONCAT(CAST(SUM(dumper_cycles.ulgl1 = 1) AS CHAR),' cph') AS ULGL1,
+ CONCAT(CAST(SUM(dumper_cycles.ulgl2 = 1) AS CHAR),' cph') AS ULGL2,
+ CONCAT(CAST(SUM(dumper_cycles.ulgl3 = 1) AS CHAR),' cph') AS ULGL3,
+ CONCAT(CAST(SUM(dumper_cycles.ulgl4 = 1) AS CHAR),' cph') AS ULGL4 -- <-- ADD THIS LINE
+
FROM dumper_cycles
-Where (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
-GROUP BY hour(dumper_cycles.t_stamp)
\ No newline at end of file
+WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)
+GROUP BY HOUR(dumper_cycles.t_stamp);
\ No newline at end of file
diff --git a/SAT9_SCADA/ignition/named-query/Jam_Area/Jam/query.sql b/SAT9_SCADA/ignition/named-query/Jam_Area/Jam/query.sql
index 530d724..b2b0b9f 100644
--- a/SAT9_SCADA/ignition/named-query/Jam_Area/Jam/query.sql
+++ b/SAT9_SCADA/ignition/named-query/Jam_Area/Jam/query.sql
@@ -1,26 +1,177 @@
-Select
-Total_Jam,Dumpers_jam,Inbound_jam,Runout_jam,Sorter_Recirc_jam,Startstamp,Endtstamp,Sorter_jam,
-
-1 as Total_perc,
-Dumpers_jam/Total_Jam as Dumpers_perc,
-Inbound_jam/Total_Jam as Inbound_perc,
-Runout_jam/Total_Jam as Runout_perc,
-Sorter_Recirc_jam/Total_Jam as Sorter_Recirc_perc,
-Sorter_jam/Total_Jam as Sorter_perc
-
-
-FROM
-
- (SELECT
-
- MIN(jam_area.t_stamp) AS Startstamp,
- Max(jam_area.t_stamp) AS Endtstamp,
- SUM (IFNULL(`jam_ulgl`,0) + IFNULL(`Inbound_jam`, 0)+ IFNULL(`Runout_jam`, 0) + IFNULL(`Sorter_recirc`,0)+ IFNULL(`Sorter_jam`,0)) AS Total_Jam,
- SUM(jam_area.jam_ulgl = 1) AS Dumpers_jam,
- SUM(jam_area.Inbound_jam = 1) AS Inbound_jam,
- SUM(jam_area.Runout_jam = 1) AS Runout_jam,
- SUM(jam_area.Sorter_recirc = 1) AS Sorter_Recirc_jam,
- SUM(jam_area.Sorter_jam = 1) AS Sorter_jam
-
- FROM jam_area
- Where (jam_area.t_stamp BETWEEN :starttime AND :endtime)) basajam
\ No newline at end of file
+SELECT
+ base.Total_Jam,
+ base.Dumpers_jam,
+ base.Inbound_jam,
+ base.Runout_jam,
+ base.Sorter_Recirc_jam,
+ base.Startstamp,
+ base.Endtstamp,
+ base.Sorter_jam,
+ 1 AS Total_perc,
+ base.Dumpers_jam / NULLIF(base.Total_Jam, 0) AS Dumpers_perc,
+ base.Inbound_jam / NULLIF(base.Total_Jam, 0) AS Inbound_perc,
+ base.Runout_jam / NULLIF(base.Total_Jam, 0) AS Runout_perc,
+ base.Sorter_Recirc_jam / NULLIF(base.Total_Jam, 0) AS Sorter_Recirc_perc,
+ base.Sorter_jam / NULLIF(base.Total_Jam, 0) AS Sorter_perc
+FROM (
+ SELECT
+ MIN(a.eventtime) AS Startstamp,
+ MAX(COALESCE(c.eventtime, a.eventtime)) AS Endtstamp,
+ SUM(a.category = 'Dumpers_jam') AS Dumpers_jam,
+ SUM(a.category = 'Inbound_jam') AS Inbound_jam,
+ SUM(a.category = 'Runout_jam') AS Runout_jam,
+ SUM(a.category = 'Sorter_Recirc_jam') AS Sorter_Recirc_jam,
+ SUM(a.category = 'Sorter_jam') AS Sorter_jam,
+ SUM(a.category IN ('Dumpers_jam','Inbound_jam','Runout_jam','Sorter_Recirc_jam','Sorter_jam')) AS Total_Jam
+ FROM
+ (
+ SELECT
+ ae.id,
+ ae.eventtime,
+ ae.eventid,
+ ae.displaypath AS device,
+ m.category
+ FROM alarm_events ae
+ JOIN (
+ SELECT 'PS1_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL
+ SELECT 'PS1_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_1_TPE4', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_2A_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_6_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE4', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_10_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_10_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_11_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_12_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_4_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_4_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_5_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_6_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_8_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC1_8_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_10_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_10_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_11_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_12_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_4_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_4_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_5_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_6_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_8_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC2_8_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC3_3_JPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC3_3_JPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC3_4_JPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC3_6_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC3_6_TPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC4_3_JPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC4_3_JPE2', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC4_4_JPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC4_6_TPE1', 'Dumpers_jam' UNION ALL
+ SELECT 'ULC4_6_TPE2', 'Dumpers_jam'
+ ) AS m
+ ON ae.displaypath = m.device
+ WHERE ae.eventtype = 0
+ AND ae.eventtime BETWEEN :starttime AND :endtime
+ AND ae.displaypath NOT LIKE '%System Startup%'
+ AND ae.source NOT LIKE '%System Startup%'
+ ) AS a
+ LEFT JOIN (
+ SELECT eventid, MIN(eventtime) AS eventtime
+ FROM alarm_events
+ WHERE eventtype = 1
+ GROUP BY eventid
+ ) AS c
+ ON a.eventid = c.eventid
+) AS base;
diff --git a/SAT9_SCADA/ignition/named-query/Jam_Area/Jam_graph/query.sql b/SAT9_SCADA/ignition/named-query/Jam_Area/Jam_graph/query.sql
index 4708990..84a1210 100644
--- a/SAT9_SCADA/ignition/named-query/Jam_Area/Jam_graph/query.sql
+++ b/SAT9_SCADA/ignition/named-query/Jam_Area/Jam_graph/query.sql
@@ -1,20 +1,158 @@
- Select
- roundtime,Dumpers_jam,Inbound_jam,Runout_jam,Sorter_Recirc_jam,Sorter_jam
-
- FROM
-
- (Select
-
- SUM(jam_area.jam_ulgl = 1) AS Dumpers_jam,
- SUM(jam_area.Inbound_jam = 1) AS Inbound_jam,
- SUM(jam_area.Runout_jam = 1) AS Runout_jam,
- SUM(jam_area.Sorter_recirc = 1) AS Sorter_Recirc_jam,
- SUM(jam_area.Sorter_jam = 1) AS Sorter_jam,
- FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(jam_area.t_stamp) / 600) * 600) roundtime
-
- FROM jam_area
- Where (jam_area.t_stamp BETWEEN :starttime AND :endtime)
-
- Group BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(jam_area.t_stamp) / 600) * 600)
- Order By jam_area.t_stamp ASC
- ) okeyjam
\ No newline at end of file
+SELECT
+ roundtime,
+ Dumpers_jam,
+ Inbound_jam,
+ Runout_jam,
+ Sorter_Recirc_jam,
+ Sorter_jam
+FROM (
+ SELECT
+ FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(a.eventtime) / 600) * 600) AS roundtime,
+ SUM(a.category = 'Dumpers_jam') AS Dumpers_jam,
+ SUM(a.category = 'Inbound_jam') AS Inbound_jam,
+ SUM(a.category = 'Runout_jam') AS Runout_jam,
+ SUM(a.category = 'Sorter_Recirc_jam') AS Sorter_Recirc_jam,
+ SUM(a.category = 'Sorter_jam') AS Sorter_jam
+ FROM (
+ SELECT
+ ae.eventtime,
+ m.category
+ FROM alarm_events ae
+ JOIN (
+ SELECT 'PS1_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL
+ SELECT 'PS1_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_1_TPE4', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_2A_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_6_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS1_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_1_TPE4', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS2_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS3_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_1_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_1_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'PS4_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL10_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL11_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL12_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL1_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL2_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL3_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL4_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL5_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_2_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL6_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_1_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_2_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL7_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_3_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_3_TPE3', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL8_5_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_7_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'UL9_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_10_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_10_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_11_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_12_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC1_8_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_10_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_10_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_11_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_12_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_4_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_4_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_5_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_8_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC2_8_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC3_3_JPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC3_3_JPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC3_4_JPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC3_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC3_6_TPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC4_3_JPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC4_3_JPE2', 'Inbound_jam' UNION ALL
+ SELECT 'ULC4_4_JPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC4_6_TPE1', 'Inbound_jam' UNION ALL
+ SELECT 'ULC4_6_TPE2', 'Inbound_jam'
+ ) AS m
+ ON ae.displaypath = m.device
+ WHERE ae.eventtype = 0
+ AND ae.eventtime BETWEEN :starttime AND :endtime
+ AND ae.displaypath NOT LIKE '%System Startup%'
+ AND ae.source NOT LIKE '%System Startup%'
+ ) AS a
+ GROUP BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(a.eventtime) / 600) * 600)
+ ORDER BY roundtime ASC
+) AS okeyjam;
diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Navigation-Views/Docked-West/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Navigation-Views/Docked-West/view.json
index 35bf13f..59f2939 100644
--- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Navigation-Views/Docked-West/view.json
+++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Navigation-Views/Docked-West/view.json
@@ -641,7 +641,7 @@
"component": {
"onActionPerformed": {
"config": {
- "script": "\tsystem.perspective.navigate(\"/Windows/Statistics\")"
+ "script": "\tsystem.perspective.navigate(\"/Windows/Statistics\")\n\tquery2 \u003d \"\"\"\n\tCREATE TABLE IF NOT EXISTS dumper_cycles (\n\t id INT AUTO_INCREMENT PRIMARY KEY,\n\t t_stamp DATETIME NOT NULL,\n\t ulgl1 TINYINT(1) DEFAULT 0,\n\t ulgl2 TINYINT(1) DEFAULT 0,\n\t ulgl3 TINYINT(1) DEFAULT 0,\n\t ulgl4 TINYINT(1) DEFAULT 0\n\t);\n\t\"\"\"\n\tsystem.db.runUpdateQuery(query2, \"MariaDB\")\n\t"
},
"scope": "G",
"type": "script"
diff --git a/image_server/OVERVIEW_WITHOUT_SORTER.svg b/image_server/OVERVIEW_WITHOUT_SORTER.svg
new file mode 100644
index 0000000..bdeddcb
--- /dev/null
+++ b/image_server/OVERVIEW_WITHOUT_SORTER.svg
@@ -0,0 +1,2345 @@
+
+
+
+
diff --git a/image_server/SAT9 Overview.svg b/image_server/SAT9 Overview.svg
index cb6d895..3c91931 100644
--- a/image_server/SAT9 Overview.svg
+++ b/image_server/SAT9 Overview.svg
@@ -8,7 +8,7 @@
version="1.1"
id="svg1"
xml:space="preserve"
- inkscape:version="1.4 (86a8ad7, 2024-10-11)"
+ inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
sodipodi:docname="SAT9 Overview.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@@ -23,9 +23,9 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
- inkscape:zoom="1.5999719"
- inkscape:cx="1383.4618"
- inkscape:cy="753.76323"
+ inkscape:zoom="1.131351"
+ inkscape:cx="795.5091"
+ inkscape:cy="659.38865"
inkscape:window-width="3840"
inkscape:window-height="2054"
inkscape:window-x="-11"
@@ -62,775 +62,6 @@
inkscape:groupmode="layer"
id="layer1"
transform="rotate(180,1070.0914,631.81195)">
+ inkscape:connector-curvature="0" />