modifications due to the invalid styles. added new device: pressure sensor

This commit is contained in:
Salijoghli 2025-11-08 20:07:31 +04:00
parent a68ebe4ece
commit 19bc4b3812
178 changed files with 23561 additions and 4280 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

View File

@ -1,13 +1,13 @@
{
"custom": {
"color": "#C2C2C2",
"color": "#000000",
"divertingLeft": false,
"divertingRight": false,
"priority": "No Active Alarms",
"state": "Closed"
"state": "Offline"
},
"params": {
"demoColor": 0,
"demoColor": -1,
"demoState": -1,
"tagProps": [
"System/MCM02/SOL/NCS1_1_SOL48",
@ -601,7 +601,6 @@
},
{
"fill": {},
"fontSize": "20.7347px",
"id": "beaconLabel",
"name": "beaconLabel",
"stroke": {
@ -609,6 +608,7 @@
},
"style": {
"classes": "",
"fontSize": "21px",
"textAnchor": "middle"
},
"text": "SOL",

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

View File

@ -4898,7 +4898,7 @@
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "\"System/MCM02/Conveyor/NCS1_1\"",
"0": "\"System/MCM02/VFD/NCS1_1_VFD1\"",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"
@ -5014,7 +5014,7 @@
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "\"System/MCM02/Conveyor/PS3_14\"",
"0": "\"System/MCM02/VFD/PS3_14_VFD1\"",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"
@ -5130,7 +5130,7 @@
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "\"System/MCM02/Conveyor/PS3_13\"",
"0": "\"System/MCM02/VFD/PS3_13_VFD1\"",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"
@ -5246,7 +5246,7 @@
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "\"System/MCM02/Conveyor/PS3_12\"",
"0": "\"System/MCM02/VFD/PS3_12_VFD1\"",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

View File

@ -1,8 +1,8 @@
{
"custom": {
"color": "#000000",
"color": "#AAAAAA",
"deviceName": "S03_CH101_PRX1",
"state": "Offline"
"state": "INACTIVE"
},
"params": {
"demoColor": -1,
@ -41,11 +41,11 @@
"inputType": "scalar",
"mappings": [
{
"input": true,
"input": false,
"output": "#47FF47"
},
{
"input": false,
"input": true,
"output": "#AAAAAA"
}
],
@ -93,11 +93,11 @@
"inputType": "scalar",
"mappings": [
{
"input": false,
"input": true,
"output": "INACTIVE"
},
{
"input": true,
"input": false,
"output": "ACTUATED"
}
],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

View File

@ -1875,7 +1875,7 @@
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.501,
"x": 0.496,
"y": 0.4712
},
"props": {
@ -1908,7 +1908,7 @@
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.501,
"x": 0.4995,
"y": 0.4417
},
"props": {
@ -1941,7 +1941,7 @@
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.5204,
"x": 0.5254,
"y": 0.4712
},
"props": {
@ -1974,7 +1974,7 @@
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.5204,
"x": 0.5194,
"y": 0.4417
},
"props": {
@ -2007,7 +2007,7 @@
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.5389,
"x": 0.5399,
"y": 0.4712
},
"props": {
@ -10393,6 +10393,39 @@
"useDefaultViewWidth": true
},
"type": "ia.display.view"
},
{
"meta": {
"name": "NCS1_1_PS1"
},
"position": {
"height": 0.0204,
"width": 0.0121,
"x": 0.5112,
"y": 0.4688
},
"props": {
"params": {
"tagProps": [
"System/MCM02/PS/NCS1_1_PS1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "autStand/Equipment/PressureSensor",
"style": {
"classes": "hover",
"overflow": "visible"
}
},
"type": "ia.display.view"
}
],
"meta": {
@ -10467,7 +10500,8 @@
"props": {
"mode": "percent",
"style": {
"overflow": "visible"
"overflow": "visible",
"transition": "transform 0.6s ease-in-out"
}
},
"type": "ia.container.coord"

View File

@ -76,7 +76,10 @@
"basis": "NaNpx"
},
"props": {
"justify": "center"
"justify": "center",
"style": {
"cursor": "pointer"
}
},
"type": "ia.container.flex"
}

View File

@ -44,4 +44,4 @@ def handleClick(data):
combined = pathToDevice + "||" + priority
# Navigate to target view, passing the tag to highlight
system.perspective.navigate(view = page, params = {'highlightTagPath': str(combined)})
system.perspective.navigate(view = page, params = {'highlightTagPath': str(combined)})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,7 +1,7 @@
{
"custom": {
"MCM": "",
"currentTable": "HISTORY",
"currentTable": "HITLIST",
"page": "",
"view": ""
},
@ -102,7 +102,8 @@
"binding": {
"config": {
"parameters": {
"priorityList": "\"\""
"location": "{view.custom.MCM}",
"priority": "0"
},
"polling": {
"enabled": true,
@ -112,7 +113,7 @@
},
"transforms": [
{
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data",
"code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data",
"type": "script"
}
],
@ -127,7 +128,7 @@
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "NumberID",
"field": "ID",
"filter": {
"boolean": {
"condition": ""
@ -764,192 +765,6 @@
"viewPath": "",
"visible": true,
"width": 80
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "FullTag",
"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": ""
},
"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": "",
"display": "none"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "Device",
"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": ""
},
"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": "",
"display": "none"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
}
],
"emptyMessage": {
@ -1012,6 +827,8 @@
"config": {
"parameters": {
"endTime": "NULL",
"location": "{view.custom.MCM}",
"priority": "0",
"startTime": "NULL"
},
"polling": {
@ -1022,7 +839,7 @@
},
"transforms": [
{
"code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n",
"code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n",
"type": "script"
}
],
@ -1776,192 +1593,6 @@
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "FullTag",
"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": ""
},
"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": "",
"display": "none"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "Device",
"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": ""
},
"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": "",
"display": "none"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
}
],
"emptyMessage": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -512,6 +512,14 @@
"type": "expr"
}
},
"props.elements[0].style.display": {
"binding": {
"config": {
"expression": "if({view.custom.isHighlighted}, \"block\", \"none\")"
},
"type": "expr"
}
},
"props.elements[1].elements[0].fill.paint": {
"binding": {
"config": {
@ -557,9 +565,7 @@
"id": "layer1",
"name": "layer1",
"type": "group"
},
{},
{}
}
],
"style": {
"overflow": "visible"

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -3,7 +3,7 @@
"params": {},
"props": {
"defaultSize": {
"height": 1080,
"height": 1030,
"width": 1920
}
},
@ -188,8 +188,8 @@
},
"props": {
"params": {
"demoColor": "",
"demoState": 0,
"demoColor": "R",
"demoState": 2,
"tagProps": [
"H",
"value",
@ -218,7 +218,7 @@
},
"props": {
"params": {
"demoState": 0,
"demoColor": false,
"tagProps": [
"H",
"value",
@ -247,7 +247,7 @@
},
"props": {
"params": {
"demoState": 1,
"demoColor": false,
"tagProps": [
"R",
"value",
@ -276,7 +276,7 @@
},
"props": {
"params": {
"demoState": 0,
"demoColor": false,
"tagProps": [
"A",
"value",
@ -305,7 +305,7 @@
},
"props": {
"params": {
"demoState": 0,
"demoColor": false,
"tagProps": [
"System/MCM02/Beacon/S03_CH115_BCN1_B",
"value",
@ -334,7 +334,7 @@
},
"props": {
"params": {
"demoState": 0,
"demoColor": false,
"tagProps": [
"G",
"value",
@ -454,7 +454,7 @@
"position": {
"height": 25,
"width": 51.49,
"x": 366.01,
"x": 401.01,
"y": 41
},
"props": {
@ -474,7 +474,7 @@
"position": {
"height": 50,
"width": 50,
"x": 366,
"x": 387,
"y": 136.5
},
"props": {
@ -505,7 +505,7 @@
"position": {
"height": 50,
"width": 50,
"x": 366,
"x": 386,
"y": 253
},
"props": {
@ -652,6 +652,66 @@
"path": "autStand/Equipment/Beacon"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Beacon_10"
},
"position": {
"height": 50,
"width": 50,
"x": 439,
"y": 136.5
},
"props": {
"params": {
"demoColor": false,
"tagProps": [
"R",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "autStand/Equipment/Beacon"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Beacon_12"
},
"position": {
"height": 50,
"width": 50,
"x": 438,
"y": 253
},
"props": {
"params": {
"demoColor": false,
"tagProps": [
"A",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "autStand/Equipment/Beacon"
},
"type": "ia.display.view"
}
],
"meta": {
@ -2959,7 +3019,7 @@
},
"props": {
"params": {
"demoColor": true
"demoColor": false
},
"path": "autStand/Equipment/ProxSensor"
},
@ -2976,7 +3036,7 @@
},
"props": {
"params": {
"demoColor": false
"demoColor": true
},
"path": "autStand/Equipment/ProxSensor"
},
@ -3828,8 +3888,8 @@
},
"position": {
"height": 25,
"width": 69,
"x": 129.9,
"width": 97,
"x": 264.9,
"y": 226.04
},
"props": {
@ -3876,26 +3936,6 @@
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Label_18"
},
"position": {
"height": 25,
"width": "auto",
"x": 130.897,
"y": 287.563
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "Jammed / Blocked"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "PhotoeyeJC_0"
@ -3924,7 +3964,63 @@
},
"props": {
"params": {
"demoColor": 54
"demoColor": 17
},
"path": "autStand/Equipment/Photoeye_Tracking"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "PhotoeyeC_0"
},
"position": {
"height": 40,
"width": 120,
"x": 129,
"y": 217.514
},
"props": {
"params": {
"demoColor": 4
},
"path": "autStand/Equipment/Photoeye_Tracking"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Label_19"
},
"position": {
"height": 25,
"width": "auto",
"x": 263.897,
"y": 287.563
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "Jammed / Blocked"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "PhotoeyeB_0"
},
"position": {
"height": 40,
"width": 120,
"x": 130,
"y": 281.012
},
"props": {
"params": {
"demoColor": 27
},
"path": "autStand/Equipment/Photoeye_Tracking"
},
@ -3936,8 +4032,8 @@
},
"position": {
"height": 0.3361,
"width": 0.1651,
"x": 0.5911,
"width": 0.2146,
"x": 0.5755,
"y": 0.546
},
"props": {
@ -4082,13 +4178,49 @@
"text": "Jam Count"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Icon_1"
},
"position": {
"height": 40,
"width": 40,
"x": 5.4,
"y": 169.24
},
"props": {
"color": "#FF0022",
"path": "material/notifications_active"
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label_NoComm_9"
},
"position": {
"height": 25,
"width": 214,
"x": 58,
"y": 172.5
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "Medium and High Alarms"
},
"type": "ia.display.label"
}
],
"meta": {
"name": "OtherIcons"
},
"position": {
"height": 0.1713,
"height": 0.212,
"width": 0.1505,
"x": 0.7991,
"y": 0.7183
@ -4106,9 +4238,9 @@
},
"position": {
"height": 0.0231,
"width": 0.3615,
"x": 0.6203,
"y": 0.9356
"width": 0.375,
"x": 0.5891,
"y": 0.9453
},
"props": {
"style": {
@ -4119,6 +4251,157 @@
"text": "No Communication: Indicates missing or invalid tag configuration, not actual PLC loss."
},
"type": "ia.display.label"
},
{
"children": [
{
"meta": {
"name": "EPC_NoComm"
},
"position": {
"height": 50,
"width": 50,
"y": 106
},
"props": {
"params": {
"demoColor": 4
},
"path": "autStand/Equipment/PressureSensor"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Label_NoComm_5"
},
"position": {
"height": 25,
"width": 143,
"x": 60,
"y": 62
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "No Communication"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Label_15"
},
"position": {
"height": 25,
"width": 67,
"x": 57,
"y": 180
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "Fault"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Label_14"
},
"position": {
"height": 25,
"width": 67,
"x": 57,
"y": 119
},
"props": {
"style": {
"fontFamily": "Arial",
"fontSize": 16,
"textAlign": "left"
},
"text": "Normal"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Label_44"
},
"position": {
"height": 25,
"width": 110
},
"props": {
"style": {
"color": "#000000",
"fontFamily": "Arial",
"fontSize": 18,
"fontWeight": "bold",
"textAlign": "left",
"textDecoration": "underline"
},
"text": "PS Status"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "EPC"
},
"position": {
"height": 50,
"width": 50,
"y": 166
},
"props": {
"params": {
"demoColor": 1
},
"path": "autStand/Equipment/PressureSensor"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "EPC_0"
},
"position": {
"height": 50,
"width": 50,
"y": 45.5312
},
"props": {
"params": {
"demoColor": 10
},
"path": "autStand/Equipment/PressureSensor"
},
"type": "ia.display.view"
}
],
"meta": {
"name": "PS"
},
"position": {
"height": 0.2176,
"width": 0.1089,
"x": 0.8817,
"y": 0.022
},
"props": {
"style": {
"overflow": "visible"
}
},
"type": "ia.container.coord"
}
],
"meta": {
@ -4138,8 +4421,8 @@
"name": "root"
},
"position": {
"x": 0.0292,
"y": 0.0722
"x": 0,
"y": 0
},
"props": {
"mode": "percent",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,347 @@
{
"custom": {
"color": "#000000",
"priority": "value",
"state": "Offline"
},
"params": {
"demoColor": -1,
"tagProps": [
"System/MCM02/PS/NCS1_1_PS1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.color": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"
},
"transforms": [
{
"expression": "if(\r\n {view.params.demoColor} \u003e\u003d 0,\r\n {view.params.demoColor},\r\n coalesce({value}, -1)\r\n)\r\n",
"type": "expression"
},
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#C2C2C2"
},
{
"input": 1,
"output": "#FF0000"
},
{
"input": 2,
"output": "#FFA500"
},
{
"input": 3,
"output": "#0008FF"
},
{
"input": 4,
"output": "#00FF00"
},
{
"input": 5,
"output": "#FFF700"
},
{
"input": 6,
"output": "#87CEEB"
},
{
"input": 7,
"output": "#90EE90"
},
{
"input": 8,
"output": "#964B00"
},
{
"input": 9,
"output": "#FFFFFF"
},
{
"input": 10,
"output": "#000000"
},
{
"input": 11,
"output": "#8B0000"
},
{
"input": 12,
"output": "#808080"
},
{
"input": 13,
"output": "#8B8000"
},
{
"input": 14,
"output": "#006400"
},
{
"input": 15,
"output": "#FFFFC5"
},
{
"input": 16,
"output": "#00008B"
},
{
"input": 17,
"output": "#FF7276"
},
{
"input": 18,
"output": "#556B2F"
},
{
"input": 19,
"output": "#B43434"
},
{
"input": 20,
"output": "#4682B4"
},
{
"input": 21,
"output": "#FFD700"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.deviceName": {
"persistent": true
},
"custom.priority": {
"persistent": true
},
"custom.state": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/State"
},
"transforms": [
{
"expression": " coalesce({value}, -1)\r\n",
"type": "expression"
},
{
"fallback": "Offline",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "INACTIVE"
},
{
"input": false,
"output": "ACTUATED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"params.demoColor": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 25,
"width": 30
}
},
"root": {
"children": [
{
"meta": {
"name": "PS"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.color"
},
"type": "property"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"expression": "if ({view.custom.color} \u003d \"#000000\", \"#fff\", \"#000\")"
},
"type": "expr"
}
}
},
"props": {
"elements": [
{
"fill": {},
"height": 47.417244,
"id": "beaconSquare",
"name": "beaconSquare",
"stroke": {
"paint": "#000000",
"width": "2.36887"
},
"type": "rect",
"width": "47.337795",
"x": "1.450278",
"y": "1.3708278"
},
{
"fill": {},
"id": "beaconLabel",
"name": "beaconLabel",
"stroke": {
"width": 1
},
"style": {
"classes": "",
"fontSize": "25px",
"textAnchor": "middle"
},
"text": "PS",
"type": "text",
"x": 25,
"y": 33
}
],
"preserveAspectRatio": "none",
"viewBox": "0 0 50 50"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset, \"name\":self.view.custom.deviceName} )"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"draggable": false,
"id": "LZ5nPg42{view.params.tagProps[0]}",
"modal": false,
"overlayDismiss": false,
"position": {
"relativeLocation": "top-right"
},
"positionType": "relative",
"resizable": false,
"showCloseIcon": false,
"type": "open",
"viewParams": {
"text": "{/root.meta.tooltip.text}"
},
"viewPath": "autStand/Custom_Views/Tooltip",
"viewportBound": false
},
"scope": "C",
"type": "popup"
},
"onMouseLeave": {
"config": {
"draggable": true,
"id": "LZ5nPg42{view.params.tagProps[0]}",
"modal": false,
"overlayDismiss": false,
"resizable": true,
"showCloseIcon": true,
"type": "close",
"viewPath": "autStand/Custom_Views/Tooltip",
"viewportBound": false
},
"scope": "C",
"type": "popup"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true
}
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.state} !\u003d \"Offline\",\n \"Source Id: \" + {view.params.tagProps[0]} + \", State: \" + {view.custom.state},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
},
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_px"
},
"type": "property"
}
}
},
"props": {
"mode": "percent",
"style": {
"cursor": "pointer",
"userSelect": "None"
}
},
"type": "ia.container.coord"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,941 @@
{
"custom": {
"largeView": false
},
"params": {
"params": {}
},
"propConfig": {
"custom.largeView": {
"binding": {
"config": {
"expression": "{page.props.dimensions.viewport.width} \u003e 800"
},
"type": "expr"
},
"persistent": true
},
"params.params": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 58
}
},
"root": {
"children": [
{
"children": [
{
"events": {
"dom": {
"onDoubleClick": {
"config": {
"page": "/Monitron"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Icon"
},
"position": {
"basis": "30px"
},
"props": {
"color": "#FFFFFF",
"path": "material/vibration",
"style": {
"classes": ""
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "41px"
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "direct",
"tagPath": "[IEC_SCADA_TAG_PROVIDER]Monitron/monitron_data"
},
"transforms": [
{
"code": "\treturn value.getRowCount()",
"type": "script"
}
],
"type": "tag"
}
}
},
"props": {
"style": {
"color": "#FFFFFF",
"textAlign": "center"
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "80px",
"display": false
},
"type": "ia.container.flex"
},
{
"children": [
{
"events": {
"dom": {
"onDoubleClick": {
"config": {
"page": "/Oil"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Icon"
},
"position": {
"basis": "30px"
},
"props": {
"color": "#FFFFFF",
"path": "material/opacity",
"style": {
"classes": ""
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "41px"
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "direct",
"tagPath": "[IEC_SCADA_TAG_PROVIDER]Oil/oil_condition_monitoring"
},
"transforms": [
{
"code": "\treturn value.getRowCount()",
"type": "script"
}
],
"type": "tag"
}
}
},
"props": {
"style": {
"color": "#FFFFFF",
"textAlign": "center"
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "80px",
"display": false
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "Image"
},
"position": {
"basis": "120px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"path": "view.custom.largeView"
},
"type": "property"
}
}
},
"props": {
"fit": {
"height": 30,
"mode": "cover"
},
"source": "\\amazon_rme_logo.png"
},
"type": "ia.display.image"
},
{
"meta": {
"hasDelegate": true,
"name": "Spacer Start"
},
"position": {
"basis": "16px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"id": "Docked-West",
"type": "toggle"
},
"scope": "C",
"type": "dock"
}
}
},
"meta": {
"name": "Menu Dock"
},
"position": {
"basis": "24px",
"shrink": 0
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "!{view.custom.largeView}"
},
"type": "expr"
}
}
},
"props": {
"color": "#FFFFFF",
"path": "material/menu",
"style": {
"classes": "Header/Icon",
"marginRight": "10px"
}
},
"type": "ia.display.icon"
},
{
"children": [
{
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "150px",
"grow": 1
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "300px",
"grow": 1
},
"propConfig": {
"custom.path": {
"binding": {
"config": {
"expression": "{page.props.primaryView}"
},
"transforms": [
{
"code": "\tview \u003d str(value).split(\"/\")[-1]\n\tif not \"MCM\" in view:\n\t\treturn \"\"\n\treturn view\n\t",
"type": "script"
}
],
"type": "expr"
}
},
"position.display": {
"binding": {
"config": {
"expression": "{page.props.dimensions.viewport.width} \u003e 800"
},
"type": "expr"
}
},
"props.text": {
"binding": {
"config": {
"path": "this.custom.path"
},
"type": "property"
}
}
},
"props": {
"style": {
"color": "#FFFFFF",
"fontFamily": "Arial",
"fontWeight": "bold",
"textAlign": "center"
},
"textStyle": {
"fontSize": "2vmin"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "150px",
"grow": 1
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Area"
},
"position": {
"basis": "200px",
"grow": 1
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "Icon_1",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "30px",
"shrink": 0
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "{[System]Gateway/Database/MariaDB/Available}"
},
"transforms": [
{
"fallback": "Database Connection Status: LOST",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "Database Connection Status: GOOD"
},
{
"input": false,
"output": "Database Connection Status: LOST"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "expr"
}
},
"props.color": {
"binding": {
"config": {
"expression": "{[System]Gateway/Database/MariaDB/Available}"
},
"transforms": [
{
"fallback": "#FF0000",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "#47FF47"
},
{
"input": false,
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "expr"
},
"onChange": {
"enabled": null,
"script": " db_tag_path \u003d \"[System]Gateway/Database/MariaDB/Available\"\n\t\n if not (system.tag.readBlocking([db_tag_path])[0].value):\n \tsystem.perspective.openPopup(\"errorPopup\",\u0027autStand/PopUp-Views/DatabaseError\u0027, title\u003d\"Database Error\")\n\t"
},
"persistent": true
}
},
"props": {
"color": "#47FF47",
"path": "material/table_chart",
"style": {
"classes": "Header/Icon"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"hasDelegate": true,
"name": "Spacer End_3"
},
"position": {
"basis": "10px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
},
{
"custom": {
"buttonid": "HeaderLegendIcon"
},
"events": {
"dom": {
"onClick": {
"config": {
"draggable": false,
"id": "TZyBcXB7",
"modal": true,
"overlayDismiss": true,
"resizable": false,
"showCloseIcon": false,
"type": "open",
"viewPath": "autStand/PopUp-Views/Legend_Popup/Legend-popup-view",
"viewportBound": true
},
"scope": "C",
"type": "popup"
}
}
},
"meta": {
"name": "Icon",
"tooltip": {
"delay": 250,
"enabled": true,
"sustain": 1000,
"text": "Legend"
}
},
"position": {
"basis": "35px",
"shrink": 0
},
"props": {
"color": "#FFFFFF",
"path": "material/legend_toggle",
"style": {
"classes": ""
}
},
"type": "ia.display.icon"
},
{
"children": [
{
"meta": {
"hasDelegate": true,
"name": "Spacer End"
},
"position": {
"basis": "10px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.navigate(page \u003d \"/Alarms\")"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon"
},
"position": {
"basis": "30px"
},
"propConfig": {
"props.color": {
"binding": {
"config": {
"path": "../Label.props.text"
},
"transforms": [
{
"code": "\t\n\treturn \"red\" if value \u003e 0 else \"#fff\"",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"path": "material/notifications_active",
"style": {
"classes": ""
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "41px",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"polling": {
"enabled": true,
"rate": "3"
},
"queryPath": "autStand/Alarms/GetActiveAlarmsByLocationAndPriority",
"returnFormat": "json"
},
"transforms": [
{
"code": "\ttotal \u003d sum(\n\t row[\"Count\"]\n\t for row in value\n\t if \"Count\" in row\n\t and row[\"Count\"] is not None\n\t and row.get(\"Priority\") in (\"Medium\", \"High\")\n\t)\n\treturn total",
"type": "script"
}
],
"type": "query"
}
}
},
"props": {
"style": {
"color": "#FFFFFF",
"textAlign": "center"
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "FlexContainer",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "75px",
"shrink": 0
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "{./Label.props.text} + \" - Medium \u0026 High Alarms\""
},
"type": "expr"
}
}
},
"props": {
"justify": "flex-end",
"style": {
"cursor": "pointer",
"overflow": "hidden"
}
},
"type": "ia.container.flex"
},
{
"custom": {
"covert": true,
"heartbeat_received": false,
"wbsckt_running": true
},
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tdevice_list \u003d tags.tag_utilities.get_devices(self.session.custom.fc)\n\ttags.tag_utilities.reset_disconnect_tags(self.session.custom.fc, device_list)\n\tAWS.wbsckt_abort.close_websckt()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon_2",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "30px",
"shrink": 0
},
"propConfig": {
"custom.heartbeat_received": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_heartbeat_interval"
},
"enabled": false,
"transforms": [
{
"expression": "if(secondsBetween(todate({value}),todate(now())) \u003e 70, False, True)",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.wbsckt_running": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_running"
},
"enabled": false,
"transforms": [
{
"expression": "if({value} \u003d True \u0026\u0026 ({this.custom.heartbeat_received} \u003d True) , True, False)",
"type": "expression"
}
],
"type": "tag"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "websocket running"
},
{
"input": false,
"output": "websocket disconnected"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.color": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "#FF4747"
},
{
"input": true,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"path": "material/location_city",
"style": {
"cursor": "pointer"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"shrink": 0
},
"propConfig": {
"position.basis": {
"binding": {
"config": {
"expression": "len({this.props.text}) * 11 + \"px\""
},
"type": "expr"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{session.custom.fc}"
},
"tagPath": "[{0}_SCADA_TAG_PROVIDER]Configuration/FC"
},
"type": "tag"
}
}
},
"props": {
"icon": "material/building",
"style": {
"borderWidth": "0.25px",
"color": "#FFFFFF",
"textAlign": "",
"textIndent": 10
},
"textStyle": {
"lineBreak": "auto"
}
},
"type": "ia.display.label"
},
{
"meta": {
"hasDelegate": true,
"name": "Spacer End"
},
"position": {
"basis": "20px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "User"
},
"position": {
"basis": "30px",
"shrink": 0
},
"props": {
"path": "material/person",
"style": {
"classes": "Header/Icon",
"color": "#FFFFFF"
}
},
"type": "ia.display.icon"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"hasDelegate": true,
"name": "Sign In"
},
"position": {
"shrink": 0
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "session.props.auth.user.userName"
},
"transforms": [
{
"code": "\tif value is None or len(str(value)) \u003d\u003d 0 or str(value).lower() \u003d\u003d \"null\":\n\t return \"Sign In\"\n\telse:\n\t return str(value).split(\"@\")[0]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Header/Icon",
"color": "#FFFFFF",
"cursor": "pointer",
"marginLeft": "4px"
}
},
"type": "ia.display.label"
},
{
"meta": {
"hasDelegate": true,
"name": "Spacer End_0"
},
"position": {
"basis": "20px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.closeSession()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Exit",
"tooltip": {
"enabled": true,
"location": "bottom-left",
"style": {
"fontFamily": "Arial",
"fontSize": 12
},
"tail": false,
"text": "Exit Application"
}
},
"position": {
"basis": "30px",
"shrink": 0
},
"props": {
"path": "material/exit_to_app",
"style": {
"classes": "Header/Icon",
"color": "#FFFFFF",
"cursor": "pointer"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"hasDelegate": true,
"name": "Spacer End_1"
},
"position": {
"basis": "16px",
"shrink": 0
},
"props": {
"text": " "
},
"type": "ia.display.label"
}
],
"meta": {
"name": "root"
},
"props": {
"justify": "flex-end",
"style": {
"background": "rgb(43,43,43)"
}
},
"type": "ia.container.flex"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -59,6 +59,9 @@
}
},
"props": {
"style": {
"textIndent": "10px"
},
"textStyle": {
"textIndent": "10px"
}
@ -106,7 +109,8 @@
"props": {
"style": {
"marginRight": "20px",
"overflow": "visible"
"overflow": "visible",
"textAlign": "end"
},
"textStyle": {
"textAlign": "end"
@ -123,8 +127,7 @@
},
"props": {
"style": {
"backgroundColor": "#555555",
"key": "value"
"backgroundColor": "#555555"
}
},
"type": "ia.container.flex"
@ -140,6 +143,8 @@
},
"props": {
"style": {
"fontFamily": "Roboto",
"fontSize": 12,
"marginLeft": 10
},
"text": "AREA",
@ -169,6 +174,7 @@
},
"props": {
"style": {
"fontSize": 12,
"marginLeft": 50
},
"textStyle": {
@ -213,6 +219,8 @@
},
"props": {
"style": {
"fontFamily": "Roboto",
"fontSize": 12,
"marginLeft": 10
},
"text": "STATUS",
@ -321,6 +329,8 @@
},
"props": {
"style": {
"fontFamily": "Roboto",
"fontSize": 12,
"marginLeft": 10
},
"text": "ACTIVE ALARMS",
@ -354,6 +364,9 @@
"basis": "32px"
},
"props": {
"style": {
"fontSize": 10
},
"text": "High",
"textStyle": {
"fontSize": 10
@ -369,6 +382,9 @@
"basis": "32px"
},
"props": {
"style": {
"fontSize": 10
},
"text": "Medium",
"textStyle": {
"fontSize": 10
@ -384,6 +400,9 @@
"basis": "32px"
},
"props": {
"style": {
"fontSize": 10
},
"text": "Low",
"textStyle": {
"fontSize": 10
@ -399,6 +418,9 @@
"basis": "32px"
},
"props": {
"style": {
"fontSize": 10
},
"text": "Diag",
"textStyle": {
"fontSize": 10
@ -414,6 +436,9 @@
"basis": "32px"
},
"props": {
"style": {
"fontSize": 10
},
"text": "Total",
"textStyle": {
"fontSize": 10
@ -443,11 +468,11 @@
"basis": "32px"
},
"props": {
"text": 4,
"textStyle": {
"style": {
"fontSize": 10,
"textAlign": "center"
}
},
"text": 23
},
"scripts": {
"customMethods": [],
@ -472,7 +497,11 @@
"basis": "32px"
},
"props": {
"text": 0,
"style": {
"fontSize": 10,
"textAlign": "center"
},
"text": 2,
"textStyle": {
"fontSize": 10,
"textAlign": "center"
@ -501,7 +530,11 @@
"basis": "32px"
},
"props": {
"text": 0,
"style": {
"fontSize": 10,
"textAlign": "center"
},
"text": 10,
"textStyle": {
"fontSize": 10,
"textAlign": "center"
@ -530,7 +563,11 @@
"basis": "32px"
},
"props": {
"text": 1,
"style": {
"fontSize": 10,
"textAlign": "center"
},
"text": 0,
"textStyle": {
"fontSize": 10,
"textAlign": "center"
@ -559,7 +596,11 @@
"basis": "32px"
},
"props": {
"text": 5,
"style": {
"fontSize": 10,
"textAlign": "center"
},
"text": 35,
"textStyle": {
"fontSize": 10,
"textAlign": "center"
@ -624,10 +665,10 @@
"custom": {
"counts": {
"Critical": 0,
"Diagnostic": 1,
"High": 4,
"Low": 0,
"Medium": 0
"Diagnostic": 0,
"High": 23,
"Low": 10,
"Medium": 2
}
},
"events": {

View File

@ -17,7 +17,7 @@
"viewParams": {
"highlightTagPath": "value"
},
"viewPath": "autStand/Detailed_Views/MCM-Views/MCM01"
"viewPath": "autStand/Detailed_Views/MCM-Views/MCM02"
},
"propConfig": {
"custom.scale": {

View File

@ -78,14 +78,14 @@ def get_device_state(value, tagPath):
# === Single Photoeyes (PE1, PE2) ===
if up.endswith(("PE1", "PE2")):
if not value:
if value == 4:
return "Clear"
else:
return "Blocked"
# === Prox Sensors (PRX1, PRX2) ===
if up.endswith(("PRX1", "PRX2")):
if not value:
if value:
return "Inactive"
else:
return "Actuated"
@ -427,7 +427,6 @@ def getAllTags(self, tagPath, section="all"):
]
"""
rows = []
system.perspective.print("im here")
try:
providerPath = "[" + self.session.custom.fc + "_SCADA_TAG_PROVIDER]"
driveFolderName = "Drive"
@ -436,9 +435,9 @@ def getAllTags(self, tagPath, section="all"):
def readSingleTag(path, prefix=""):
try:
result = system.tag.readBlocking([providerPath + path])[0]
value = str(result.value) if result.quality.isGood() else "Unknown"
value = str(result.value) if result.quality.isGood() else "Offline"
except:
value = "Unknown"
value = "Offline"
displayName = prefix + path.split("/")[-1] if prefix else path.split("/")[-1]
rows.append({

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -4,7 +4,7 @@
"$": [
"ds",
192,
1762422327752
1762615945641
],
"$columns": [
{
@ -24,18 +24,18 @@
"Low",
"Medium",
"High",
"Low"
"Medium"
],
"name": "Priority",
"type": "String"
},
{
"data": [
6,
23,
10,
2,
1,
32,
4
9,
1
],
"name": "Count",
"type": "Long"
@ -187,8 +187,10 @@
"borderColor": "#555555",
"borderStyle": "none",
"cursor": "pointer",
"fontSize": 12,
"marginBottom": 8,
"marginTop": 8
"marginTop": 8,
"textAlign": "center"
},
"textStyle": {
"fontSize": 12,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,157 @@
def calculateFocus(self, child, scale=1.7):
system.perspective.print(self)
# Read rotation
try:
rot = int(str(self.session.custom.rotation).replace("deg", "")) % 360
except:
rot = 0
# Device normalized coords (0..1)
x = float(child.position.x)
y = float(child.position.y)
# Per-rotation affine coefficients (dx, dy)
COEFFS = {
0: dict(ax= 956.86984, bx=-1853.94329, cx= -17.57191,
ay= 124.82245, by= -191.28916, cy= 227.58568),
90: dict(ax=-601.58230, bx= -218.90739, cx=1466.46475,
ay= 284.67701, by=-1528.43884, cy= 54.37458),
180: dict(ax=-728.83646, bx= 1521.61995, cx= 16.04437,
ay=-434.03405, by= -32.67146, cy=1071.85472),
270: dict(ax= 385.53372, bx= -44.67850, cx=-768.65879,
ay=-1341.88064, by= 1615.55073, cy= 142.77638),
}
c = COEFFS.get(rot, COEFFS[0])
dx = c['ax'] + c['bx']*x + c['cx']*y
dy = c['ay'] + c['by']*x + c['cy']*y
# Keep your wide-device tweak if you still want it (optional)
try:
deviceWidthPixels = float(child.position.width) * 1850.0
except:
deviceWidthPixels = 0.0
if deviceWidthPixels > 1200:
scale = 1.8
dy -= 100
return {"x": dx, "y": dy, "scale": scale}
def deviceType(self, path, props):
try:
docked_view = "Docked-East-"
section = "all"
devices = []
tags = []
prop = props[0]
# --- VFD ---
if "VFD" in path:
docked_view += "VFD"
section = "vfd"
# --- Conveyor ---
elif "Conv" in path or "Conveyor" in path:
docked_view += "Conv"
autStand.devices.build_device_mapping(prop)
devices = autStand.devices.build_device_table(self)
section = "conveyor"
# --- Generic devices ---
else:
docked_view += "Device"
tags = autStand.devices.getAllTags(self, prop, section=section)
return [docked_view, tags, devices]
except Exception as e:
import traceback
msg = "Error in deviceType: {}\n{}".format(str(e), traceback.format_exc())
system.perspective.print(msg)
return None
def handleTagHighlight(view, currentValue):
tagAndPriority = str(currentValue.value
or "")
container = view.rootContainer.getChildren()[0]
# --- CASE 1: Remove all highlights by applying CLEAR class ---
if tagAndPriority.upper() == "CLEAR":
for child in container.getChildren():
try:
currentClasses = child.props.style['classes'].split(" ")
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style.classes = " ".join(filtered)
child.props.params.highlight = ""
except:
pass
return False
if "||" not in tagAndPriority:
return
parts = tagAndPriority.split("||")
tag = parts[0]
splitedTag = tag.split("/")
deviceName = splitedTag[-1]
# --- CASE 2: Open camera popup
if "Camera" in deviceName:
cameraView = container.getChild(deviceName)
ipAddress = cameraView.props.get("params", {}).get("ipaddress", "")
system.perspective.openPopup("kxYYzZ2O", "autStand/PopUp-Views/Camera", params = {"ipaddress": ipAddress}, title = deviceName)
return
components = container.getChildren()
priority = parts[1]
foundMatch = False
# clear all highlights and apply new one when found
for child in components:
props = child.meta.name
params = child.props.get("params", {})
tagProps = params.get("tagProps", {})
tagsList = list(tagProps)
if len(tagsList) == 0:
continue
# child.props.style.classes = ""
currentClasses = child.props.style.get('classes', '').split(" ")
# strip only highlight-related classes
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style.classes = " ".join(filtered)
child.props.params.highlight = ""
tagPath = tagsList[0]
if tag == tagPath:
path = child.props.get("path")
device = str(path).split("/")[-1].lower()
child.props.params.highlight = priority
if "photoeye" not in device and not device.startswith("conveyor_"):
child.props.style.classes += " Highlight/Pulse-" + priority
docked_view = deviceType(view, path, tagProps)
system.perspective.openDock(docked_view[0], params = {'tagProps':tagProps, 'tags': docked_view[1], 'devices':docked_view[2], 'name':props})
system.perspective.sendMessage(
"focusDevice",
payload = calculateFocus(view, child),
scope="session"
)
foundMatch = True
return foundMatch

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

View File

@ -487,7 +487,7 @@
"width": 1
},
"propConfig": {
"props.elements[1].fill.opacity": {
"props.elements[0].fill.opacity": {
"binding": {
"config": {
"expression": "if({view.custom.isHighlighted} , 1 , 0)"
@ -495,7 +495,7 @@
"type": "expr"
}
},
"props.elements[1].fill.paint": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.overlayColor"
@ -503,7 +503,7 @@
"type": "property"
}
},
"props.elements[1].style.animation": {
"props.elements[0].style.animation": {
"binding": {
"config": {
"expression": "if ({view.custom.isHighlighted}, \"2.5s linear infinite both conveyor\", \"\")"
@ -511,7 +511,15 @@
"type": "expr"
}
},
"props.elements[2].fill.paint": {
"props.elements[0].style.display": {
"binding": {
"config": {
"expression": "if ({view.custom.isHighlighted}, \"block\", \"none\")"
},
"type": "expr"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"path": "view.custom.color"
@ -522,33 +530,6 @@
},
"props": {
"elements": [
{
"elements": [
{
"elements": [
{
"id": "feGaussianBlur1",
"name": "feGaussianBlur1",
"stdDeviation": "2.1301424",
"type": "feGaussianBlur"
}
],
"height": "1.453317",
"id": "filter1",
"name": "filter1",
"style": {
"colorInterpolationFilters": "sRGB"
},
"type": "filter",
"width": "1.523762",
"x": 0,
"y": 0
}
],
"id": "defs1",
"name": "defs1",
"type": "defs"
},
{
"d": "M 19.795541,24.053407 C 4.8690768,24.621849 -0.26264835,18.334911 0.32257209,1.5332384 L 11.358047,1.5616638 C 11.484424,11.30713 10.25124,13.183695 19.799798,13.487969 Z",
"fill": {},
@ -563,7 +544,7 @@
{
"d": "M 18.6878,22.684405 C 5.9759133,22.823395 1.6853368,16.70923 1.9611592,2.9471254 l 8.1187968,3.045e-4 C 10.1902,11.101336 10.324572,14.221492 18.654279,14.439663 Z",
"fill": {
"opacity": "1"
"opacity": 1
},
"id": "path1",
"name": "path1",

View File

@ -2,39 +2,48 @@
"custom": {
"counts": {
"Critical": 0,
"Diagnostic": 1,
"High": 4,
"Low": 0,
"Medium": 0,
"Total": 5
"Diagnostic": 0,
"High": 23,
"Low": 10,
"Medium": 2,
"Total": 35
},
"totalAlarms": {
"$": [
"ds",
192,
1762441246756
1762615945788
],
"$columns": [
{
"data": [
"MCM01",
"MCM01"
"MCM01",
"MCM01",
"MCM02",
"MCM02"
],
"name": "Location",
"type": "String"
},
{
"data": [
"Diagnostic",
"High"
"High",
"Low",
"Medium",
"High",
"Medium"
],
"name": "Priority",
"type": "String"
},
{
"data": [
1,
4
23,
10,
2,
9,
1
],
"name": "Count",
"type": "Long"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -17,10 +17,6 @@
"persistent": true
},
"params.text": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.print(currentValue.value)"
},
"paramDirection": "input",
"persistent": true
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -380,6 +380,35 @@
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"page": "/alarms"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Nav_Testing"
},
"position": {
"height": 52,
"width": 100,
"x": 1600,
"y": 2
},
"props": {
"style": {
"classes": "Buttons/Grey"
},
"text": "Testing"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": [
@ -863,7 +892,7 @@
{
"meta": {
"name": "LabelFireAlarm",
"visible": null
"visible": false
},
"position": {
"height": 56,
@ -984,35 +1013,6 @@
"text": "Jam Cameras"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"page": "/autStand"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "autStand"
},
"position": {
"height": 52,
"width": 117,
"x": 1599.67,
"y": 2
},
"props": {
"style": {
"classes": "Buttons/Grey"
},
"text": "Navigate to autStand"
},
"type": "ia.input.button"
}
],
"meta": {

View File

@ -338,33 +338,35 @@
"$": [
"ds",
192,
1762246331129
1762613984629
],
"$columns": [
{
"data": [
"MCM01",
"S03_CH123_BCN1_G",
"UL14_4_VFD1",
"PS3_9AL_VFD1",
"S03_CH123_BCN1_B",
"S03_CH120_EN1",
"S03_CH118_PE2",
"S03_CH118_PE1",
"S03_CH110_FIOM1",
"UL15_4_VFD1",
"UL15_4",
"S03_CH111_PE1",
"S03_CH111_PE2",
"UL15_2_SIO1",
"UL14_3_VFD1",
"UL14_3",
"PS3_12_BCN1_A",
"PS3_4_VFD1",
"PS3_8_JR1",
"PS3_4_JR1",
"NCS1_1_ENSH1",
"PS3_4_TPE1",
"PS3_12_EPC1",
"S03_CH109_PRX1",
"PS3_12_EPC2",
"S03_CH09_PRX2",
"S03_CH121_FIOM1",
"UL15_4_VFD1",
"S03_CH103_FIOM1",
"UL14_1_EPC1",
"S03_1_LRPE1",
@ -378,7 +380,7 @@
"S03_1_LRPE7",
"S03_CH108_EN1",
"S03_CH103_PE1",
"PS3_4_VFD1",
"PS3_4",
"UL14_5_SIO1",
"S03_CH118_PRX1",
"S03_CH118_PRX2",
@ -403,25 +405,28 @@
"S03_CH109_BCN1_B",
"S03_CH101_BCN1_B",
"PS3_2_BCN1_A",
"UL14_2_VFD1",
"PDP01_FIOM1",
"UL14_2_TPE1",
"PS3_10_VFD1",
"PS3_10",
"S03_CH112_PE2",
"S03_CH112_PE1",
"S03_CH107_EN1",
"S03_CH115_BCN1_B",
"PS3_14_VFD1",
"PS3_14",
"S03_CH112_BCN1_B",
"UL14_1_TPE1",
"S03_CH110_PRX2",
"S03_CH110_PRX1",
"S03_CH115_BCN1_G",
"S03_CH112_BCN1_G",
"UL15_1_VFD1",
"UL15_1",
"UL15_3_ENSH1",
"PS3_10_VFD1",
"S03_CH111_PRX2",
"S03_CH111_PRX1",
"UL14_1_SIO1",
"NCS1_1_VFD1",
"PS3_14_ENW1",
"S03_CH120_PRX2",
"S03_CH120_PRX1",
@ -433,7 +438,6 @@
"S03_CH105_PRX2",
"PS3_1_EPC2",
"PS3_9B_SIO1",
"S03_1_JR1",
"PS3_3_SIO1",
"NCS1_1_BCN1_R",
"NCS1_1_BCN1_H",
@ -444,24 +448,25 @@
"S03_CH117_EN1",
"PS3_1_EPC1",
"UL14_1_SS2",
"UL15_5_VFD1",
"UL15_5",
"UL14_1_SS1",
"S03_CH101",
"PS3_9AL",
"S03_CH103",
"PS3_9AL_VFD1",
"S03_CH105",
"S03_CH107",
"S03_CH108",
"S03_CH109",
"S03_CH117_BCN1_B",
"PS3_10_JR2",
"S03_CH117_BCN1_G",
"S03_CH103_PRX2",
"S03_CH103_PRX1",
"S03_1_FIOM1",
"NCS1_1_VFD1",
"NCS1_1",
"S03_1_FIOM2",
"S03_1_FIOM3",
"S03_CH116_EN1",
"S03_1_FIOM3",
"S03_1_FIOM4",
"S03_1_FIOM5",
"S03_1_FIOM6",
@ -470,16 +475,18 @@
"S03_CH105_PE1",
"S03_1_FIOM9",
"S03_CH105_PE2",
"PS3_12_TPE2",
"S03_CH110",
"PS3_12_TPE1",
"S03_CH111",
"S03_CH115_PRX2",
"NCS1_1_SOL2",
"UL15_3_VFD1",
"UL15_3",
"NCS1_1_SOL1",
"PS3_7_VFD1",
"PS3_7",
"NCS1_1_SOL8",
"NCS1_1_SOL7",
"PS3_7_VFD1",
"NCS1_1_SOL9",
"NCS1_1_SOL4",
"NCS1_1_SOL3",
@ -487,10 +494,12 @@
"S03_CH115_PRX1",
"NCS1_1_SOL5",
"UL14_3_ENSH1",
"S03_1_JR1",
"UL15_3_SIO1",
"PS3_7_SIO1",
"PS3_1_ENW2",
"UL14_2_VFD1",
"PS3_8_VFD1",
"UL14_2",
"S03_CH105_BCN1_B",
"S03_CH119_PE2",
"S03_CH119_PE1",
@ -516,12 +525,14 @@
"UL14_2_ENSH1",
"S03_CH111_BCN1_G",
"PS3_13_SIO1",
"UL14_3_VFD1",
"UL15_1_SIO1",
"UL14_1_JR1",
"MCM02",
"S03_CH123_PRX1",
"S03_CH123_PRX2",
"NCS1_1_DPM2",
"PS3_11_VFD1",
"NCS1_1_DPM1",
"UL15_2_TPE1",
"UL15_4_SIO1",
@ -532,15 +543,17 @@
"S03_CH121_BCN1_G",
"S03_CH121_BCN1_B",
"PS3_1_BCN3_A",
"UL15_3_VFD1",
"PS3_3_VFD1",
"UL15_1_BCN2_R",
"S03_1_JR4",
"S03_CH121_PRX1",
"S03_CH121_PRX2",
"PS3_2_VFD1",
"PS3_2",
"S03_1_JR3",
"UL14_3_SIO1",
"PS3_1_JR3",
"PS3_2_JR1",
"UL15_2_VFD1",
"UL15_2",
"S03_CH114_PE1",
"S03_CH108_PRX1",
"S03_CH114_BCN1_A",
@ -550,28 +563,27 @@
"UL15_1_TPE1",
"S03_CH110_BCN1_B",
"S03_CH118_BCN1_B",
"S03_1_JR3",
"S03_CH122_PE2",
"S03_CH122_PE1",
"S03_CH114_BCN1_G",
"S03_CH118_BCN1_G",
"S03_CH110_BCN1_G",
"PS3_1_BCN2_A",
"S03_1_JR4",
"PS3_6_TPE1",
"S03_CH114_PE2",
"PS3_10_JR2",
"UL15_1_BCN1_R",
"PS3_12_JR1",
"PS3_10_JR1",
"S03_CH114_EN1",
"PS3_11_ENW1",
"Jam_Camera5",
"UL15_1_BCN1_A",
"Jam_Camera4",
"UL15_1_BCN1_A",
"PS3_12_VFD1",
"Jam_Camera3",
"Jam_Camera2",
"Jam_Camera1",
"UL14_5_VFD1",
"UL14_5",
"S03_CH123",
"S03_CH124",
"PS3_8_BCN1_A",
@ -579,8 +591,9 @@
"S03_CH107_BCN1_B",
"S03_CH107_BCN1_A",
"S03_CH101_EN1",
"PS3_5_VFD1",
"NCS1_1_EPC2",
"S03_1_JR5",
"NCS1_1_PS1",
"NCS1_1_EPC1",
"PS3_11_BCN2_R",
"S03_CH124_EN1",
@ -600,32 +613,38 @@
"S03_CH116_PRX1",
"S03_CH116_PRX2",
"S03_CH120",
"UL15_1_VFD1",
"S03_CH121",
"S03_CH122",
"PS3_5_TPE1",
"PS3_1_JR1",
"UL14_1_BCN1_A",
"PS3_1_VFD1",
"S03_CH113_EN1",
"PS3_6_VFD1",
"PS3_6",
"S03_CH113_PE2",
"S03_CH113_PE1",
"UL14_1_BCN1_R",
"PS3_1_BCN4_A",
"PS3_13_VFD1",
"PS3_13",
"PS3_11_BCN1_R",
"S03_CH117_PRX2",
"S03_CH117_PRX1",
"S03_CH123_PE1",
"S03_CH109_FIOM1",
"PS3_11_SS2",
"S03_CH109_FIOM1",
"PS3_11_SS1",
"S03_CH123_PE2",
"S03_CH107_PRX2",
"S03_CH107_PRX1",
"PS3_10_JR1",
"PS3_9AL_SIO1",
"S03_1_JR5",
"S03_CH101_PRX1",
"S03_CH101_PRX2",
"S03_CH124_BCN1_G",
"UL14_4_SIO1",
"PS3_3_VFD1",
"PS3_3",
"S03_CH111_EN1",
"S03_CH115_FIOM1",
"NCS1_1_SOL28",
@ -642,14 +661,15 @@
"UL14_1_BCN2_R",
"NCS1_1_SOL22",
"NCS1_1_SOL21",
"PS3_14_VFD1",
"NCS1_1_SIO1",
"NCS1_1_SOL24",
"NCS1_1_SOL23",
"NCS1_1_SOL26",
"UL14_4_VFD1",
"S03_1_JR6",
"UL14_4",
"NCS1_1_SOL25",
"S03_CH122_PRX1",
"PS3_9B_VFD1",
"S03_CH122_PRX2",
"PS3_1_TPE3",
"S03_CH108_PE1",
@ -659,6 +679,7 @@
"NCS1_1_SOL19",
"NCS1_1_SOL18",
"UL15_5_SIO1",
"UL14_1_VFD1",
"S03_CH124_PRX2",
"NCS1_1_SOL11",
"S03_CH124_PRX1",
@ -672,7 +693,7 @@
"PS3_1_TPE2",
"S03_CH119_PRX2",
"S03_CH119_PRX1",
"PS3_5_VFD1",
"PS3_5",
"S03_CH113_BCN1_A",
"S03_CH122_FIOM1",
"S03_CH113_BCN1_B",
@ -683,24 +704,27 @@
"NCS1_1_SOL44",
"NCS1_1_SOL43",
"NCS1_1_SOL46",
"S03_CH109_PRX1",
"NCS1_1_SOL45",
"S03_CH122_EN1",
"S03_CH09_PRX2",
"NCS1_1_SOL48",
"NCS1_1_SOL47",
"PS3_6_VFD1",
"UL15_1_JR1",
"NCS1_1_SOL40",
"PS3_13_VFD1",
"S03_CH112_PRX2",
"S03_CH120_PE2",
"S03_CH112_PRX1",
"S03_CH120_PE1",
"S03_CH112_PRX1",
"PS3_14_SIO1",
"PS3_1_VFD1",
"PS3_1",
"NCS1_1_SOL39",
"NCS1_1_SOL38",
"S03_1_JR6",
"PS3_3_TPE1",
"PS3_11_VFD1",
"PS3_12_VFD1",
"PS3_11",
"PS3_12",
"UL14_3_TPE1",
"NCS1_1_SOL31",
"NCS1_1_SOL30",
@ -711,6 +735,7 @@
"NCS1_1_SOL34",
"NCS1_1_SOL37",
"NCS1_1_SOL36",
"UL15_5_VFD1",
"S03_CH116_PE2",
"S03_CH116_PE1",
"PS3_11_SIO1",
@ -725,6 +750,7 @@
"NCS1_1_SOL63",
"NCS1_1_SOL66",
"NCS1_1_SOL65",
"PS3_2_VFD1",
"S03_CH109_PE1",
"S03_CH109_PE2",
"S03_CH108_BCN1_A",
@ -733,24 +759,24 @@
"S03_CH114_PRX1",
"S03_CH114_PRX2",
"NCS1_1_SOL62",
"S03_CH107_PRX2",
"UL15_4_ENSH1",
"NCS1_1_SOL61",
"S03_CH107_PRX1",
"S03_1_JR8",
"UL15_2_VFD1",
"PS3_9B_VFD1",
"NCS1_1_SOL53",
"NCS1_1_SOL52",
"NCS1_1_SOL55",
"PS3_8_VFD1",
"PS3_8",
"NCS1_1_SOL54",
"NCS1_1_SOL57",
"NCS1_1_SOL56",
"NCS1_1_SOL59",
"NCS1_1_SOL58",
"S03_1_JR7",
"NCS1_1_SOL51",
"NCS1_1_SOL50",
"PS3_13_ENW2",
"PS3_9AL_TPE1",
"S03_1_JR7",
"PS3_10_BCN1_A",
"S03_CH119_BCN1_G",
"PS3_1_SS1",
@ -758,16 +784,19 @@
"S03_CH115_PE2",
"S03_CH115_PE1",
"PS3_12_SIO1",
"UL14_1_VFD1",
"UL14_1",
"S03_CH119_BCN1_A",
"PS3_6_SIO1",
"UL15_1_EPC1",
"UL15_1_EPC2",
"S03_1_JR8",
"Conveyor_3",
"S03_CH110_EN1",
"S03_CH121_PE1",
"S03_CH121_PE2",
"S03_CH121_EN1",
"PS3_10_TPE1"
"PS3_10_TPE1",
"UL14_5_VFD1"
],
"name": "Name",
"type": "String"
@ -776,6 +805,8 @@
"data": [
"System/MCM01/MCM01",
"System/MCM02/Beacon/S03_CH123_BCN1_G",
"System/MCM01/VFD/UL14_4_VFD1/Drive",
"System/MCM01/VFD/PS3_9AL_VFD1/Drive",
"System/MCM02/Beacon/S03_CH123_BCN1_B",
"System/MCM02/Chute/S03_CH120/EN",
"System/MCM02/CHUTE/S03_CH118/PE2",
@ -787,15 +818,15 @@
"System/MCM01/IO_Block/SIO/UL15_2_SIO1",
"System/MCM01/VFD/UL14_3_VFD1",
"System/MCM02/Beacon/PS3_12_BCN1_A",
"System/MCM01/VFD/PS3_4_VFD1/Drive",
"System/MCM01/STATION/JR/PS3_8_JR1/JR",
"System/MCM01/STATION/JR/PS3_4_JR1/JR",
"System/MCM02/ENCODER/ENSH/NCS1_1_ENSH1",
"System/MCM01/PE/TPE/PS3_4_TPE1",
"System/MCM02/STATION/EPC/PS3_12_EPC1",
"System/MCM02/Chute/S03_Ch109/PRX1",
"System/MCM02/STATION/EPC/PS3_12_EPC2",
"System/MCM02/Chute/S03_Ch109/PRX2",
"System/MCM02/IO_Block/FIO/S03_CH121_FIOM_1",
"System/MCM01/VFD/UL15_4_VFD1/Drive",
"System/MCM02/IO_Block/FIO/S03_CH103_FIOM_1",
"System/MCM01/STATION/EPC/UL14_1_EPC1",
"System/MCM02/Station/Chute_JR/S03_1_JR1",
@ -834,6 +865,7 @@
"System/MCM02/Beacon/S03_CH109_BCN1_B",
"System/MCM02/Beacon/S03_CH101_BCN1_B",
"System/MCM01/Beacon/PS3_2_BCN1_A",
"System/MCM01/VFD/UL14_2_VFD1/Drive",
"System/MCM01/IO_Block/FIO/PDP01_FIOM_1",
"System/MCM01/PE/TPE/UL14_2_TPE1",
"System/MCM01/VFD/PS3_10_VFD1",
@ -850,9 +882,11 @@
"System/MCM02/Beacon/S03_CH112_BCN1_G",
"System/MCM01/VFD/UL15_1_VFD1",
"System/MCM01/ENCODER/ENSH/UL15_3_ENCODER",
"System/MCM01/VFD/PS3_10_VFD1/Drive",
"System/MCM02/Chute/S03_CH111/PRX2",
"System/MCM02/Chute/S03_CH111/PRX1",
"System/MCM01/IO_Block/SIO/UL14_1_SIO1",
"System/MCM02/VFD/NCS1_1_VFD1/Drive",
"System/MCM02/ENCODER/ENW/PS3_14_ENW1",
"System/MCM02/Chute/S03_CH120/PRX2",
"System/MCM02/Chute/S03_CH120/PRX1",
@ -864,7 +898,6 @@
"System/MCM02/Chute/S03_CH105/PRX1",
"System/MCM01/STATION/EPC/PS3_1_EPC2",
"System/MCM01/IO_Block/SIO/PS3_9B_SIO1",
"System/MCM02/STATION/Chute_JR/S03_1_JR1/JR",
"System/MCM01/IO_Block/SIO/PS3_3_SIO1",
"System/MCM02/Beacon/NCS1_1_BCN1_R",
"System/MCM02/Beacon/NCS1_1_BCN1_H",
@ -878,21 +911,22 @@
"System/MCM01/VFD/UL15_5_VFD1",
"System/MCM01/STATION/SS/UL14_1_SS1",
"System/MCM02/Chute/S03_CH101",
"System/MCM02/Chute/S03_CH103",
"System/MCM01/VFD/PS3_9AL_VFD1",
"System/MCM02/Chute/S03_CH103",
"System/MCM02/Chute/S03_CH105",
"System/MCM02/Chute/S03_CH107",
"System/MCM02/Chute/S03_CH108",
"System/MCM02/Chute/S03_CH109",
"System/MCM02/Beacon/S03_CH117_BCN1_B",
"System/MCM01/STATION/JR/PS3_10_JR2/JR",
"System/MCM02/Beacon/S03_CH117_BCN1_G",
"System/MCM02/Chute/S03_CH103/PRX2",
"System/MCM02/Chute/S03_CH103/PRX1",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_1",
"System/MCM02/VFD/NCS1_1_VFD1",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_2",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_3",
"System/MCM02/Chute/S03_CH116/EN",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_3",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_4",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_5",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_6",
@ -901,6 +935,7 @@
"System/MCM02/CHUTE/S03_CH105/PE1",
"System/MCM02/IO_Block/FIO/S03_1_FIOM_9",
"System/MCM02/CHUTE/S03_CH105/PE2",
"System/MCM02/PE/TPE/PS3_12_TPE2",
"System/MCM02/Chute/S03_CH110",
"System/MCM02/PE/TPE/PS3_12_TPE1",
"System/MCM02/Chute/S03_CH111",
@ -911,6 +946,7 @@
"System/MCM01/VFD/PS3_7_VFD1",
"System/MCM02/SOL/NCS1_1_SOL8",
"System/MCM02/SOL/NCS1_1_SOL7",
"System/MCM01/VFD/PS3_7_VFD1/Drive",
"System/MCM02/SOL/NCS1_1_SOL9",
"System/MCM02/SOL/NCS1_1_SOL4",
"System/MCM02/SOL/NCS1_1_SOL3",
@ -918,9 +954,11 @@
"System/MCM02/Chute/S03_CH115/PRX1",
"System/MCM02/SOL/NCS1_1_SOL5",
"System/MCM01/ENCODER/ENSH/UL14_3_ENCODER",
"System/MCM02/Station/Chute_JR/S03_1_JR1/JR",
"System/MCM01/IO_Block/SIO/UL15_3_SIO1",
"System/MCM01/IO_Block/SIO/PS3_7_SIO1",
"System/MCM01/ENCODER/ENW/PS3_1_ENCODER",
"System/MCM01/VFD/PS3_8_VFD1/Drive",
"System/MCM01/VFD/UL14_2_VFD1",
"System/MCM02/Beacon/S03_CH105_BCN1_B",
"System/MCM02/CHUTE/S03_CH119/PE2",
@ -947,12 +985,14 @@
"System/MCM01/ENCODER/ENSH/UL14_2_ENCODER",
"System/MCM02/Beacon/S03_CH111_BCN1_G",
"System/MCM02/IO_Block/SIO/PS3_13_SIO1",
"System/MCM01/VFD/UL14_3_VFD1/Drive",
"System/MCM01/IO_Block/SIO/UL15_1_SIO1",
"System/MCM01/STATION/JR/UL14_1_JR1/JR",
"System/MCM02/MCM02",
"System/MCM02/Chute/S03_CH123/PRX1",
"System/MCM02/Chute/S03_CH123/PRX2",
"System/MCM02/IO_Block/DPM/NCS1_1_DPM2",
"System/MCM01/VFD/PS3_11_VFD1/Drive",
"System/MCM02/IO_Block/DPM/NCS1_1_DPM1",
"System/MCM01/PE/TPE/UL15_2_TPE1",
"System/MCM01/IO_Block/SIO/UL15_4_SIO1",
@ -963,11 +1003,13 @@
"System/MCM02/Beacon/S03_CH121_BCN1_G",
"System/MCM02/Beacon/S03_CH121_BCN1_B",
"System/MCM01/Beacon/PS3_1_BCN3_A",
"System/MCM01/VFD/UL15_3_VFD1/Drive",
"System/MCM01/VFD/PS3_3_VFD1/Drive",
"System/MCM01/Beacon/UL15_1_BCN2_R",
"System/MCM02/STATION/Chute_JR/S03_1_JR4/JR",
"System/MCM02/Chute/S03_CH121/PRX1",
"System/MCM02/Chute/S03_CH121/PRX2",
"System/MCM01/VFD/PS3_2_VFD1",
"System/MCM02/Station/Chute_JR/S03_1_JR3/JR",
"System/MCM01/IO_Block/SIO/UL14_3_SIO1",
"System/MCM01/STATION/JR/PS3_1_JR3/JR",
"System/MCM01/STATION/JR/PS3_2_JR1/JR",
@ -981,24 +1023,23 @@
"System/MCM01/PE/TPE/UL15_1_TPE1",
"System/MCM02/Beacon/S03_CH110_BCN1_B",
"System/MCM02/Beacon/S03_CH118_BCN1_B",
"System/MCM02/STATION/Chute_JR/S03_1_JR3/JR",
"System/MCM02/CHUTE/S03_CH122/PE2",
"System/MCM02/CHUTE/S03_CH122/PE1",
"System/MCM02/Beacon/S03_CH114_BCN1_G",
"System/MCM02/Beacon/S03_CH118_BCN1_G",
"System/MCM02/Beacon/S03_CH110_BCN1_G",
"System/MCM01/Beacon/PS3_1_BCN2_A",
"System/MCM02/Station/Chute_JR/S03_1_JR4/JR",
"System/MCM01/PE/TPE/PS3_6_TPE1",
"System/MCM02/CHUTE/S03_CH114/PE2",
"System/MCM01/STATION/JR/PS3_10_JR2",
"System/MCM01/Beacon/UL15_1_BCN1_R",
"System/MCM02/STATION/JR/PS3_12_JR1/JR",
"System/MCM01/STATION/JR/PS3_10_JR1",
"System/MCM02/Chute/S03_CH114/EN",
"System/MCM01/ENCODER/ENW/PS3_11_ENCODER",
"System/MCM01/Camera/Jam_Camera5",
"System/MCM01/Beacon/UL15_1_BCN1_A",
"System/MCM01/Camera/Jam_Camera4",
"System/MCM01/Beacon/UL15_1_BCN1_A",
"System/MCM02/VFD/PS3_12_VFD1/Drive",
"System/MCM01/Camera/Jam_Camera3",
"System/MCM01/Camera/Jam_Camera2",
"System/MCM01/Camera/Jam_Camera1",
@ -1010,8 +1051,9 @@
"System/MCM02/Beacon/S03_CH107_BCN1_B",
"System/MCM02/Beacon/S03_CH107_BCN1_A",
"System/MCM02/Chute/S03_CH101/EN",
"System/MCM01/VFD/PS3_5_VFD1/Drive",
"System/MCM02/STATION/EPC/NCS1_1_EPC2",
"System/MCM02/STATION/Chute_JR/S03_1_JR5/JR",
"System/MCM02/PS/NCS1_1_PS1",
"System/MCM02/STATION/EPC/NCS1_1_EPC1",
"System/MCM01/Beacon/PS3_11_BCN2_R",
"System/MCM02/Chute/S03_CH124/EN",
@ -1031,11 +1073,13 @@
"System/MCM02/Chute/S03_CH116/PRX1",
"System/MCM02/Chute/S03_CH116/PRX2",
"System/MCM02/Chute/S03_CH120",
"System/MCM01/VFD/UL15_1_VFD1/Drive",
"System/MCM02/Chute/S03_CH121",
"System/MCM02/Chute/S03_CH122",
"System/MCM01/PE/TPE/PS3_5_TPE1",
"System/MCM01/STATION/JR/PS3_1_JR1/JR",
"System/MCM01/Beacon/UL14_1_BCN1_A",
"System/MCM01/VFD/PS3_1_VFD1/Drive",
"System/MCM02/Chute/S03_CH113/EN",
"System/MCM01/VFD/PS3_6_VFD1",
"System/MCM02/CHUTE/S03_CH113/PE2",
@ -1047,11 +1091,15 @@
"System/MCM02/Chute/S03_CH117/PRX2",
"System/MCM02/Chute/S03_CH117/PRX1",
"System/MCM02/CHUTE/S03_CH123/PE1",
"System/MCM02/IO_Block/FIO/S03_CH109_FIOM_1",
"System/MCM01/STATION/SS/PS3_11_SS2",
"System/MCM02/IO_Block/FIO/S03_CH109_FIOM_1",
"System/MCM01/STATION/SS/PS3_11_SS1",
"System/MCM02/CHUTE/S03_CH123/PE2",
"System/MCM02/Chute/S03_CH107/PRX2",
"System/MCM02/Chute/S03_CH107/PRX1",
"System/MCM01/STATION/JR/PS3_10_JR1/JR",
"System/MCM01/IO_Block/SIO/PS3_9A_SIO1",
"System/MCM02/Station/Chute_JR/S03_1_JR5/JR",
"System/MCM02/Chute/S03_CH101/PRX1",
"System/MCM02/Chute/S03_CH101/PRX2",
"System/MCM02/Beacon/S03_CH124_BCN1_G",
@ -1073,14 +1121,15 @@
"System/MCM01/Beacon/UL14_1_BCN2_R",
"System/MCM02/SOL/NCS1_1_SOL22",
"System/MCM02/SOL/NCS1_1_SOL21",
"System/MCM02/VFD/PS3_14_VFD1/Drive",
"System/MCM02/IO_Block/SIO/NCS1_1_SIO1",
"System/MCM02/SOL/NCS1_1_SOL24",
"System/MCM02/SOL/NCS1_1_SOL23",
"System/MCM02/SOL/NCS1_1_SOL26",
"System/MCM02/Station/Chute_JR/S03_1_JR6/JR",
"System/MCM01/VFD/UL14_4_VFD1",
"System/MCM02/SOL/NCS1_1_SOL25",
"System/MCM02/Chute/S03_CH122/PRX1",
"System/MCM01/VFD/PS3_9B_VFD1",
"System/MCM02/Chute/S03_CH122/PRX2",
"System/MCM01/PE/TPE/PS3_1_TPE3",
"System/MCM02/CHUTE/S03_CH108/PE1",
@ -1090,6 +1139,7 @@
"System/MCM02/SOL/NCS1_1_SOL19",
"System/MCM02/SOL/NCS1_1_SOL18",
"System/MCM01/IO_Block/SIO/UL15_5_SIO1",
"System/MCM01/VFD/UL14_1_VFD1/Drive",
"System/MCM02/Chute/S03_CH124/PRX2",
"System/MCM02/SOL/NCS1_1_SOL11",
"System/MCM02/Chute/S03_CH124/PRX1",
@ -1114,21 +1164,24 @@
"System/MCM02/SOL/NCS1_1_SOL44",
"System/MCM02/SOL/NCS1_1_SOL43",
"System/MCM02/SOL/NCS1_1_SOL46",
"System/MCM02/Chute/S03_CH109/PRX1",
"System/MCM02/SOL/NCS1_1_SOL45",
"System/MCM02/Chute/S03_CH122/EN",
"System/MCM02/Chute/S03_CH109/PRX2",
"System/MCM02/SOL/NCS1_1_SOL48",
"System/MCM02/SOL/NCS1_1_SOL47",
"System/MCM01/VFD/PS3_6_VFD1/Drive",
"System/MCM01/STATION/JR/UL15_1_JR1/JR",
"System/MCM02/SOL/NCS1_1_SOL40",
"System/MCM02/VFD/PS3_13_VFD1/Drive",
"System/MCM02/Chute/S03_CH112/PRX2",
"System/MCM02/CHUTE/S03_CH120/PE2",
"System/MCM02/Chute/S03_CH112/PRX1",
"System/MCM02/CHUTE/S03_CH120/PE1",
"System/MCM02/Chute/S03_CH112/PRX1",
"System/MCM02/IO_Block/SIO/PS3_14_SIO1",
"System/MCM01/VFD/PS3_1_VFD1",
"System/MCM02/SOL/NCS1_1_SOL39",
"System/MCM02/SOL/NCS1_1_SOL38",
"System/MCM02/STATION/Chute_JR/S03_1_JR6/JR",
"System/MCM01/PE/TPE/PS3_3_TPE1",
"System/MCM01/VFD/PS3_11_VFD1",
"System/MCM02/VFD/PS3_12_VFD1",
@ -1142,6 +1195,7 @@
"System/MCM02/SOL/NCS1_1_SOL34",
"System/MCM02/SOL/NCS1_1_SOL37",
"System/MCM02/SOL/NCS1_1_SOL36",
"System/MCM01/VFD/UL15_5_VFD1/Drive",
"System/MCM02/CHUTE/S03_CH116/PE2",
"System/MCM02/CHUTE/S03_CH116/PE1",
"System/MCM01/IO_Block/SIO/PS3_11_SIO1",
@ -1156,6 +1210,7 @@
"System/MCM02/SOL/NCS1_1_SOL63",
"System/MCM02/SOL/NCS1_1_SOL66",
"System/MCM02/SOL/NCS1_1_SOL65",
"System/MCM01/VFD/PS3_2_VFD1/Drive",
"System/MCM02/CHUTE/S03_CH109/PE1",
"System/MCM02/CHUTE/S03_CH109/PE2",
"System/MCM02/Beacon/S03_CH108_BCN1_A",
@ -1164,11 +1219,10 @@
"System/MCM02/Chute/S03_CH114/PRX1",
"System/MCM02/Chute/S03_CH114/PRX2",
"System/MCM02/SOL/NCS1_1_SOL62",
"System/MCM02/Chute/S03_Ch107/PRX2",
"System/MCM01/ENCODER/ENSH/UL15_4_ENCODER",
"System/MCM02/SOL/NCS1_1_SOL61",
"System/MCM02/Chute/S03_Ch107/PRX1",
"System/MCM02/STATION/Chute_JR/S03_1_JR8/JR",
"System/MCM01/VFD/UL15_2_VFD1/Drive",
"System/MCM01/VFD/PS3_9B_VFD1/Drive",
"System/MCM02/SOL/NCS1_1_SOL53",
"System/MCM02/SOL/NCS1_1_SOL52",
"System/MCM02/SOL/NCS1_1_SOL55",
@ -1178,10 +1232,11 @@
"System/MCM02/SOL/NCS1_1_SOL56",
"System/MCM02/SOL/NCS1_1_SOL59",
"System/MCM02/SOL/NCS1_1_SOL58",
"System/MCM02/Station/Chute_JR/S03_1_JR7/JR",
"System/MCM02/SOL/NCS1_1_SOL51",
"System/MCM02/SOL/NCS1_1_SOL50",
"System/MCM02/ENCODER/ENW/PS3_12_ENW1",
"System/MCM01/PE/TPE/PS3_9AL_TPE1",
"System/MCM02/STATION/Chute_JR/S03_1_JR7/JR",
"System/MCM01/Beacon/PS3_10_BCN1_A",
"System/MCM02/Beacon/S03_CH119_BCN1_G",
"System/MCM01/STATION/SS/PS3_1_SS1",
@ -1194,11 +1249,14 @@
"System/MCM01/IO_Block/SIO/PS3_6_SIO1",
"System/MCM01/STATION/EPC/UL15_1_EPC1",
"System/MCM01/STATION/EPC/UL15_1_EPC2",
"System/MCM02/Station/Chute_JR/S03_1_JR8/JR",
"value",
"System/MCM02/Chute/S03_CH110/EN",
"System/MCM02/CHUTE/S03_CH121/PE1",
"System/MCM02/CHUTE/S03_CH121/PE2",
"System/MCM02/Chute/S03_CH121/EN",
"System/MCM01/PE/TPE/PS3_10_TPE1"
"System/MCM01/PE/TPE/PS3_10_TPE1",
"System/MCM01/VFD/UL14_5_VFD1/Drive"
],
"name": "SourceId",
"type": "String"
@ -1207,6 +1265,8 @@
"data": [
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1220,13 +1280,13 @@
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
@ -1268,6 +1328,7 @@
"MCM01",
"MCM01",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1281,6 +1342,7 @@
"MCM02",
"MCM01",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
@ -1293,9 +1355,9 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
@ -1309,7 +1371,6 @@
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
@ -1317,6 +1378,9 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
@ -1342,6 +1406,7 @@
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1349,6 +1414,8 @@
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM01",
"MCM01",
@ -1380,10 +1447,12 @@
"MCM02",
"MCM01",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
@ -1395,10 +1464,12 @@
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM01",
@ -1417,19 +1488,18 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM01",
@ -1441,6 +1511,7 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1462,11 +1533,13 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM01",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
@ -1478,14 +1551,18 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
@ -1508,11 +1585,12 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
@ -1521,6 +1599,7 @@
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1549,6 +1628,9 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
@ -1556,8 +1638,8 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
@ -1573,6 +1655,7 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
@ -1587,6 +1670,7 @@
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1595,15 +1679,16 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM02",
"MCM02",
@ -1612,7 +1697,6 @@
"MCM02",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
"MCM02",
"MCM01",
@ -1629,6 +1713,9 @@
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM02",
"MCM01",
"MCM01"
],
"name": "Page",
@ -1666,14 +1753,17 @@
"selection": {
"data": [
{
"Name": "UL15_5_VFD1",
"Name": "PS3_11_TPE1",
"Page": "MCM01",
"SourceId": "System/MCM01/VFD/UL15_5_VFD1"
"SourceId": "System/MCM01/PE/TPE/PS3_11_TPE1"
}
],
"selectedColumn": "SourceId",
"selectedRow": 101
},
"style": {
"textIndext": "15px"
},
"virtualized": false
},
"type": "ia.display.table"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

View File

@ -1,9 +1,9 @@
{
"custom": {
"color": "#C2C2C2",
"color": "#000000",
"deviceName": "S03_1_JR1",
"priority": "No Active Alarms",
"state": "Normal"
"state": "Offline"
},
"params": {
"demoColor": -1,

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -1,14 +1,14 @@
{
"custom": {
"beacon": 0,
"beacon": false,
"flashingColor": "#808080",
"solidColor": "#FF8C00",
"state": "CLEARED / RESET REQUIRED"
"state": "Offline"
},
"params": {
"demoColor": "",
"demoColor": false,
"tagProps": [
"System/MCM02/Beacon/S03_CH113_BCN1_A",
"System/MCM02/Beacon/PS3_12_BCN1_A",
"value",
"value",
"value",
@ -34,7 +34,7 @@
},
"transforms": [
{
"expression": "coalesce({value},0)",
"expression": "coalesce({value},{view.params.demoColor})",
"type": "expression"
}
],
@ -49,7 +49,7 @@
},
"transforms": [
{
"code": "\t\n\tif value \u003d\u003d 0:\n\t return \"#808080\" # OFF \u003d gray\n\telse:\n\t return self.custom.solidColor",
"code": "\t\n\tif value \u003d\u003d 0:\n\t\treturn \"#808080\" # Normal OFF\n\t\n\treturn self.custom.solidColor # Normal ON\n",
"type": "script"
}
],
@ -64,7 +64,7 @@
},
"transforms": [
{
"expression": "if(\r\n {view.params.demoColor} !\u003d \"\",\r\n {view.params.demoColor},\r\n coalesce({value}, \"S\")\r\n)\r\n",
"expression": "coalesce({value}, \"S\")\r\n",
"type": "expression"
},
{

View File

@ -1,4 +1,5 @@
def calculateFocus(self, child, scale=1.7):
# Read rotation
try:
rot = int(str(self.session.custom.rotation).replace("deg", "")) % 360
@ -8,6 +9,7 @@ def calculateFocus(self, child, scale=1.7):
# Device normalized coords (0..1)
x = float(child.position.x)
y = float(child.position.y)
# system
# Per-rotation affine coefficients (dx, dy)
COEFFS = {
@ -103,9 +105,6 @@ def handleTagHighlight(view, currentValue):
splitedTag = tag.split("/")
deviceName = splitedTag[-1]
# --- CASE 2: Open camera popup
if "Camera" in deviceName:
cameraView = container.getChild(deviceName)
@ -129,7 +128,6 @@ def handleTagHighlight(view, currentValue):
if len(tagsList) == 0:
continue
# child.props.style.classes = ""
currentClasses = child.props.style.get('classes', '').split(" ")

View File

@ -48,7 +48,7 @@
"value"
]
},
"path": "autStand/Equipment/Conveyor45",
"path": "autStand/Equipment/Conveyor_45",
"style": {
"classes": "hover conveyor",
"overflow": "visible"
@ -81,7 +81,7 @@
"value"
]
},
"path": "autStand/Equipment/Conveyor45",
"path": "autStand/Equipment/Conveyor_45",
"style": {
"classes": "hover conveyor",
"overflow": "visible"
@ -344,7 +344,7 @@
},
"width": 0.0297,
"x": 0.802,
"y": 0.5255
"y": 0.5264
},
"props": {
"params": {
@ -475,7 +475,7 @@
"position": {
"height": 0.0269,
"width": 0.0989,
"x": 0.1006,
"x": 0.1003,
"y": 0.5358
},
"props": {
@ -545,7 +545,7 @@
},
"width": 0.0681,
"x": -0.0044,
"y": 0.462
"y": 0.4647
},
"props": {
"params": {
@ -1357,7 +1357,7 @@
"height": 0.0194,
"width": 0.0292,
"x": 0.0112,
"y": 0.4066
"y": 0.4093
},
"props": {
"loading": {
@ -3627,8 +3627,8 @@
"position": {
"height": 0.0185,
"width": 0.0104,
"x": 0.0097,
"y": 0.4251
"x": 0.0077,
"y": 0.4287
},
"props": {
"params": {
@ -5022,7 +5022,8 @@
"props": {
"mode": "percent",
"style": {
"overflow": "visible"
"overflow": "visible",
"transition": "transform 0.6s ease-in-out"
}
},
"type": "ia.container.coord"

View File

@ -4,14 +4,14 @@
"restricted": false,
"overridable": true,
"files": [
"thumbnail.png",
"view.json"
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2021-11-02T18:24:14Z"
"timestamp": "2025-11-07T16:50:49Z"
},
"lastModificationSignature": "078438fb808ded7986c31501aa99e1189e3705c88c359e4b9078fac88cb7dd58"
"lastModificationSignature": "655e17b5ea0e41eef667e5904902b4af49940c289461437f55bc0c4e7e996a2f"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,17 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": true,
"restricted": false,
"overridable": false,
"files": [
"thumbnail.png",
"view.json"
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2021-11-02T21:03:13Z"
"timestamp": "2025-11-07T18:01:35Z"
},
"lastModificationSignature": "56fa54da4b1e4c4caeb89631bbf45e7397d853acafb7037cac53458fdac3ded7"
"lastModificationSignature": "c3dc862ad1aafb2ec5c717f1d0121cc62910e4c9a56b4d3f15c4d8b5c3146293"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -2,7 +2,7 @@
"scope": "G",
"version": 1,
"restricted": false,
"overridable": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T16:50:30Z"
"timestamp": "2025-11-07T18:15:07Z"
},
"lastModificationSignature": "9323a292560f9673fdbeebc9770afa4eb9240d96bd2210eb6fe9b5c815c1f5bf"
"lastModificationSignature": "fd6cce315b192dd278f4edffe17fce36ea7ed40b44a87e7f41aef2166b79f500"
}
}

View File

@ -379,24 +379,28 @@
},
"type": "ia.input.button"
},
{
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"page": "/alarms"
"script": "\t# Get the current gateway address dynamically\n\tcurrentHost = self.session.props.gateway.address\n\t\n\t# Build the full navigation URL\n\tnavigateUrl = currentHost + \"/data/perspective/client/BNA8_autStand\"\n\t\n\t# Navigate\n\tsystem.perspective.navigate(url=navigateUrl)\n"
},
"scope": "C",
"type": "nav"
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Nav_Testing"
"name": "Nav_Testing",
"tooltip": {
"enabled": true,
"text": "Go to autStand project"
}
},
"position": {
"height": 52,
"width": 100,
"width": 150,
"x": 1600,
"y": 2
},
@ -404,10 +408,12 @@
"style": {
"classes": "Buttons/Grey"
},
"text": "Testing"
"text": "Navigate to autStand"
},
"type": "ia.input.button"
},
{
"events": {
"component": {

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T13:01:11Z"
"timestamp": "2025-11-07T18:03:59Z"
},
"lastModificationSignature": "5b9ab53893ee59efdeca841e4ebf86c231cedd44cb35134b86c20616e9b7c8a8"
"lastModificationSignature": "9cdbc2da64aa65be378ad5a944b5dc429c5e97aac134dff9bc6c3127efd2c2d9"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
{
"base": {
"style": {}
}
}

View File

@ -1,16 +0,0 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"data.bin"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T08:53:14Z"
},
"lastModificationSignature": "7c262d92c2e732b3ddaf8716bf12f0172642818c0f7eeda7868c44a53400577c"
}
}

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T15:47:40Z"
"timestamp": "2025-11-07T17:07:29Z"
},
"lastModificationSignature": "eed25cb4743a03a21733584e17ef720646824ba86977d8bb58cf688653f41434"
"lastModificationSignature": "d9337ec4f3e22d2aa0fbd9a0f0a6defaeae7eaf94b953b576730c72daa67b172"
}
}

View File

@ -17,10 +17,6 @@
"persistent": true
},
"params.text": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.print(currentValue.value)"
},
"paramDirection": "input",
"persistent": true
}

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-02T14:01:35Z"
"timestamp": "2025-11-08T16:05:26Z"
},
"lastModificationSignature": "81ad03a1b648ce4ddc4fea5154f3ead8a942c9da25b9ca38fe702d986fae2ff9"
"lastModificationSignature": "ea059f1c01773e5f7981e0ce2977404a2138645c02da13fbacab590e082d56ff"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -17,7 +17,7 @@
"viewParams": {
"highlightTagPath": "value"
},
"viewPath": "autStand/Detailed_Views/MCM-Views/MCM01"
"viewPath": "autStand/Detailed_Views/MCM-Views/MCM02"
},
"propConfig": {
"custom.scale": {

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T16:38:34Z"
"timestamp": "2025-11-08T15:10:47Z"
},
"lastModificationSignature": "99699c34dc696c8c41fc9e7f992ac3de2fa0aab76aeb1b7086889598ff853b0d"
"lastModificationSignature": "f4d0e2571ccd3268ef56565269e6b43b9b0d3d74c3356ce2fce437ab632be082"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -48,7 +48,7 @@
"value"
]
},
"path": "autStand/Equipment/Conveyor45",
"path": "autStand/Equipment/Conveyor_45",
"style": {
"classes": "hover conveyor",
"overflow": "visible"
@ -81,7 +81,7 @@
"value"
]
},
"path": "autStand/Equipment/Conveyor45",
"path": "autStand/Equipment/Conveyor_45",
"style": {
"classes": "hover conveyor",
"overflow": "visible"
@ -344,7 +344,7 @@
},
"width": 0.0297,
"x": 0.802,
"y": 0.5255
"y": 0.5264
},
"props": {
"params": {
@ -475,7 +475,7 @@
"position": {
"height": 0.0269,
"width": 0.0989,
"x": 0.1006,
"x": 0.1003,
"y": 0.5358
},
"props": {
@ -545,7 +545,7 @@
},
"width": 0.0681,
"x": -0.0044,
"y": 0.462
"y": 0.4647
},
"props": {
"params": {
@ -1357,7 +1357,7 @@
"height": 0.0194,
"width": 0.0292,
"x": 0.0112,
"y": 0.4066
"y": 0.4093
},
"props": {
"loading": {
@ -3627,8 +3627,8 @@
"position": {
"height": 0.0185,
"width": 0.0104,
"x": 0.0097,
"y": 0.4251
"x": 0.0077,
"y": 0.4287
},
"props": {
"params": {
@ -5022,7 +5022,8 @@
"props": {
"mode": "percent",
"style": {
"overflow": "visible"
"overflow": "visible",
"transition": "transform 0.6s ease-in-out"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T16:39:19Z"
"timestamp": "2025-11-08T15:49:02Z"
},
"lastModificationSignature": "74aa36ca029934a5abc2057a93abf8e9bbb8826dd976b5a5b3b660b57aecba8f"
"lastModificationSignature": "fc06166aab9aa9e8cea364c5f6e76bea4a062ac1ca1d26499c315d65ed74c602"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Some files were not shown because too many files have changed in this diff Show More