705 lines
20 KiB
JSON
705 lines
20 KiB
JSON
{
|
|
"custom": {
|
|
"PLCs": "{ \"MCM07 Bypass\": [ \"MCM07\" ], \t\"MCM06 Non Con\": [ \"MCM06\" ],\t \t\"MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM05\" ],\t \t\"MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM04\" ], \t\"MCM03 Non Con\": [ \"MCM03\" ], \t\"MCM02 Fluid Inbound Merges 5-7\": [ \"MCM02\" ], \t\"MCM01 Fluid Inbound Merges 1-4\": [ \"MCM01\" ]}",
|
|
"activityLogger": {
|
|
"alt_pageid": "command_control",
|
|
"start_time": {
|
|
"$": [
|
|
"ts",
|
|
192,
|
|
1751987721218
|
|
],
|
|
"$ts": 1751987721218
|
|
}
|
|
},
|
|
"devices": {
|
|
"MCM01": {
|
|
"area": "Fluid Inbound Merges 1-4",
|
|
"name": "MCM01",
|
|
"tagProps": [
|
|
"MCM01",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM02": {
|
|
"area": "Fluid Inbound Merges 5-7",
|
|
"name": "MCM02",
|
|
"tagProps": [
|
|
"MCM02",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM03": {
|
|
"area": "Non Con Merge",
|
|
"name": "MCM03",
|
|
"tagProps": [
|
|
"MCM03",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM04": {
|
|
"area": "South Bulk Inbound, Fluid Outbound and Problem Solve",
|
|
"name": "MCM04",
|
|
"tagProps": [
|
|
"MCM04",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM05": {
|
|
"area": "North Bulk Inbound, Fluid Outbound and Problem Solve",
|
|
"name": "MCM05",
|
|
"tagProps": [
|
|
"MCM05",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM06": {
|
|
"area": "Non Con Sorters",
|
|
"name": "MCM06",
|
|
"tagProps": [
|
|
"MCM06",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
},
|
|
"MCM07": {
|
|
"area": "Bypass",
|
|
"name": "MCM07",
|
|
"tagProps": [
|
|
"MCM07",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value",
|
|
"value"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"events": {
|
|
"system": {
|
|
"onShutdown": {
|
|
"config": {
|
|
"script": "\tactivityLog.logger.callLogger(self, \u0027page\u0027)\n\tactivityLog.productMetrics.callLogger(self, \u0027page\u0027)"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
},
|
|
"onStartup": {
|
|
"config": {
|
|
"script": "\tself.custom.activityLogger.start_time \u003d system.date.now()"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
}
|
|
}
|
|
},
|
|
"params": {
|
|
"page_name": "Command and Control"
|
|
},
|
|
"propConfig": {
|
|
"custom.PLCs": {
|
|
"binding": {
|
|
"config": {
|
|
"fallbackDelay": 2.5,
|
|
"mode": "indirect",
|
|
"references": {
|
|
"fc": "{session.custom.fc}"
|
|
},
|
|
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/DetailedViews"
|
|
},
|
|
"type": "tag"
|
|
},
|
|
"persistent": true
|
|
},
|
|
"custom.activityLogger": {
|
|
"persistent": true
|
|
},
|
|
"custom.activityLogger.pageid": {
|
|
"binding": {
|
|
"config": {
|
|
"expression": "{page.props.path}"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\tif value \u003d\u003d\u0027/\u0027 or value \u003d\u003d \u0027\u0027 or value \u003d\u003d None:\n\t\treturn self.custom.activityLogger.alt_pageid.lower()\n\telse:\n\t\treturn value[1:].lower()",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "expr"
|
|
}
|
|
},
|
|
"custom.devices": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.custom.PLCs"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\tdevices \u003d system.util.jsonDecode(value)\n\tPLCs \u003d {}\n\tfc \u003d self.session.custom.fc\n\tconfig \u003d system.tag.readBlocking(\u0027[\u0027 + fc + \u0027_SCADA_TAG_PROVIDER]\u0027 + \u0027/Configuration/PLC\u0027)[0].value\n\t\n\tif devices:\n\t\tfor k, v in devices.items():\n\t\t\tdevice_list \u003d v\n\t\t\tfor i in device_list:\n\t\t\t\tdecode \u003d system.util.jsonDecode(config)\n\t\t\t\tif decode:\n\t\t\t\t\tarea \u003d decode[i][\"Area\"]\n\t\t\t\t\tsub_area \u003d decode[i][\"SubArea\"]\n\t\t\t\t\tarea_label \u003d str(area) + \"/\" + str(sub_area) if sub_area else str(area)\n\t\t\t\telse:\n\t\t\t\t\tarea \u003d \"\"\n\t\t\t\t\tarea_label \u003d \"\"\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tPLCs[i] \u003d {\u0027name\u0027:i,\u0027area\u0027:area_label,\u0027tagProps\u0027:[\n\t\t\t\t\t\t\t\t i,\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\",\n\t\t\t\t\t\t\t\t \"value\"\n\t\t\t\t\t\t\t\t ]}\n\t\n\treturn PLCs",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "property"
|
|
},
|
|
"persistent": true
|
|
},
|
|
"params.page_name": {
|
|
"paramDirection": "input",
|
|
"persistent": true
|
|
}
|
|
},
|
|
"props": {
|
|
"defaultSize": {
|
|
"height": 1080,
|
|
"width": 1920
|
|
}
|
|
},
|
|
"root": {
|
|
"children": [
|
|
{
|
|
"meta": {
|
|
"name": "Table"
|
|
},
|
|
"position": {
|
|
"grow": 1
|
|
},
|
|
"propConfig": {
|
|
"props.data": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.custom.devices"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\tresults \u003d []\n\tfor row, val in value.items():\n\t\tresults.append({\"plc\": val[\"name\"], \"area\": val[\"area\"],\"status\": {\"tagProps\":val[\"tagProps\"]},\"alarms\": {\"tagProps\":val[\"tagProps\"]},\"actions\": {\"tagProps\":val[\"tagProps\"]}})\n\t\n\tresults.sort(key\u003dlambda item: item[\u0027plc\u0027])\n\treturn results",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"cells": {
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 16,
|
|
"paddingRight": 16
|
|
}
|
|
},
|
|
"columns": [
|
|
{
|
|
"align": "center",
|
|
"boolean": "checkbox",
|
|
"dateFormat": "MM/DD/YYYY",
|
|
"editable": false,
|
|
"field": "plc",
|
|
"footer": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"title": ""
|
|
},
|
|
"header": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"classes": "",
|
|
"color": "#4A4A4A",
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 11,
|
|
"paddingRight": 11
|
|
},
|
|
"title": "PLC"
|
|
},
|
|
"justify": "auto",
|
|
"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": false,
|
|
"sort": "none",
|
|
"sortable": true,
|
|
"strictWidth": false,
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"toggleSwitch": {
|
|
"color": {
|
|
"selected": "",
|
|
"unselected": ""
|
|
}
|
|
},
|
|
"viewParams": {},
|
|
"viewPath": "",
|
|
"visible": true,
|
|
"width": 50
|
|
},
|
|
{
|
|
"align": "center",
|
|
"boolean": "checkbox",
|
|
"dateFormat": "MM/DD/YYYY",
|
|
"editable": false,
|
|
"field": "area",
|
|
"footer": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"title": ""
|
|
},
|
|
"header": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"classes": "",
|
|
"color": "#4A4A4A",
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 11,
|
|
"paddingRight": 11
|
|
},
|
|
"title": "Area"
|
|
},
|
|
"justify": "auto",
|
|
"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": false,
|
|
"sort": "none",
|
|
"sortable": true,
|
|
"strictWidth": false,
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"toggleSwitch": {
|
|
"color": {
|
|
"selected": "",
|
|
"unselected": ""
|
|
}
|
|
},
|
|
"viewParams": {},
|
|
"viewPath": "",
|
|
"visible": true,
|
|
"width": 50
|
|
},
|
|
{
|
|
"align": "center",
|
|
"boolean": "checkbox",
|
|
"dateFormat": "MM/DD/YYYY",
|
|
"editable": false,
|
|
"field": "status",
|
|
"footer": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"title": ""
|
|
},
|
|
"header": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"classes": "",
|
|
"color": "#4A4A4A",
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 11,
|
|
"paddingRight": 11
|
|
},
|
|
"title": "Status"
|
|
},
|
|
"justify": "auto",
|
|
"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": false,
|
|
"sort": "none",
|
|
"sortable": false,
|
|
"strictWidth": false,
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"toggleSwitch": {
|
|
"color": {
|
|
"selected": "",
|
|
"unselected": ""
|
|
}
|
|
},
|
|
"viewParams": {},
|
|
"viewPath": "Symbol-Views/Controller-Views/CommandControlStatus",
|
|
"visible": true,
|
|
"width": 75
|
|
},
|
|
{
|
|
"align": "center",
|
|
"boolean": "checkbox",
|
|
"dateFormat": "MM/DD/YYYY",
|
|
"editable": false,
|
|
"field": "alarms",
|
|
"footer": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"title": ""
|
|
},
|
|
"header": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"classes": "",
|
|
"color": "#4A4A4A",
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 11,
|
|
"paddingRight": 11
|
|
},
|
|
"title": "Active Alarms"
|
|
},
|
|
"justify": "auto",
|
|
"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": false,
|
|
"sort": "none",
|
|
"sortable": false,
|
|
"strictWidth": false,
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"toggleSwitch": {
|
|
"color": {
|
|
"selected": "",
|
|
"unselected": ""
|
|
}
|
|
},
|
|
"viewParams": {},
|
|
"viewPath": "Symbol-Views/Controller-Views/CommandControlAlarms",
|
|
"visible": true,
|
|
"width": "auto"
|
|
},
|
|
{
|
|
"align": "center",
|
|
"boolean": "checkbox",
|
|
"dateFormat": "MM/DD/YYYY",
|
|
"editable": false,
|
|
"field": "actions",
|
|
"footer": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"classes": ""
|
|
},
|
|
"title": ""
|
|
},
|
|
"header": {
|
|
"align": "center",
|
|
"justify": "left",
|
|
"style": {
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "solid",
|
|
"borderWidth": 1,
|
|
"classes": "",
|
|
"color": "#4A4A4A",
|
|
"fontFamily": "Arial",
|
|
"fontSize": 14,
|
|
"fontWeight": "bold",
|
|
"paddingLeft": 11,
|
|
"paddingRight": 11
|
|
},
|
|
"title": "Controls"
|
|
},
|
|
"justify": "auto",
|
|
"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": "view",
|
|
"resizable": false,
|
|
"sort": "none",
|
|
"sortable": false,
|
|
"strictWidth": false,
|
|
"style": {
|
|
"classes": "",
|
|
"textAlign": "center"
|
|
},
|
|
"toggleSwitch": {
|
|
"color": {
|
|
"selected": "",
|
|
"unselected": ""
|
|
}
|
|
},
|
|
"viewParams": {},
|
|
"viewPath": "Symbol-Views/Controller-Views/CommandControlActions",
|
|
"visible": true,
|
|
"width": "auto"
|
|
}
|
|
],
|
|
"dragOrderable": false,
|
|
"pager": {
|
|
"activeOption": 50,
|
|
"initialOption": 50
|
|
},
|
|
"rows": {
|
|
"height": 44,
|
|
"highlight": {
|
|
"color": "#EEEEEE"
|
|
},
|
|
"striped": {
|
|
"enabled": false
|
|
},
|
|
"style": {
|
|
"backgroundColor": "#FFFFFF",
|
|
"borderColor": "#4A4A4A",
|
|
"borderStyle": "none",
|
|
"borderWidth": 1,
|
|
"classes": "Fonts/BodyText14",
|
|
"color": "#4A4A4A"
|
|
}
|
|
},
|
|
"selection": {
|
|
"enableRowSelection": false
|
|
},
|
|
"style": {
|
|
"borderStyle": "none",
|
|
"margin": 5,
|
|
"overflow": "hidden",
|
|
"overflowX": "hidden",
|
|
"overflowY": "hidden"
|
|
},
|
|
"virtualized": false
|
|
},
|
|
"type": "ia.display.table"
|
|
}
|
|
],
|
|
"custom": {
|
|
"Devices": [],
|
|
"count": "value",
|
|
"delay": 4000
|
|
},
|
|
"events": {
|
|
"system": {
|
|
"onShutdown": [
|
|
{
|
|
"config": {
|
|
"script": "\tself.session.custom.command_auth.enabled \u003d False"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
},
|
|
{
|
|
"config": {
|
|
"script": "\twhid \u003d self.session.custom.fc\n\tsession_id \u003d self.session.props.id\n\tpage_id \u003d self.view.params.page_name\n\tCommands.analytics.send_page_details(whid, session_id, page_id)"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"meta": {
|
|
"name": "root"
|
|
},
|
|
"props": {
|
|
"direction": "column"
|
|
},
|
|
"type": "ia.container.flex"
|
|
}
|
|
} |