Compare commits

..

No commits in common. "97767c8e665c84b069752147a87b3cfa81dfc846" and "bc36593f6bbcdf963bbfbf5cc369234ede6b20a7" have entirely different histories.

6 changed files with 343 additions and 69 deletions

View File

@ -10350,7 +10350,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10392,7 +10392,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10434,7 +10434,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10511,7 +10511,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10553,7 +10553,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10595,7 +10595,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10637,7 +10637,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10679,7 +10679,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10721,7 +10721,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -10763,7 +10763,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},

View File

@ -9426,7 +9426,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9468,7 +9468,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9510,7 +9510,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9552,7 +9552,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9594,7 +9594,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9636,7 +9636,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9678,7 +9678,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},
@ -9720,7 +9720,7 @@
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
"path": "Custom-Views/Divert Arm"
},
"type": "ia.display.view"
},

View File

@ -719,8 +719,7 @@
"aspectRatio": "40:25",
"mode": "percent",
"style": {
"cursor": "pointer",
"overflow": "hidden"
"cursor": "pointer"
}
},
"type": "ia.container.coord"

View File

@ -304,8 +304,7 @@
"mode": "percent",
"style": {
"classes": "Disconnects/Device-Connected",
"cursor": "pointer",
"overflow": "hidden"
"cursor": "pointer"
}
},
"type": "ia.container.coord"

View File

@ -1,20 +1,29 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"openDiverter": false,
"plc": "System",
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "value",
"state": 0,
"state_string": "Closed"
"running": false,
"searchId": "PLC01",
"show_error": false,
"show_running": true,
"state": 5,
"state_string": "Unknown",
"visible_status": false
},
"params": {
"forceFaultStatus": null,
"forceRunningStatus": null,
"mirror": true,
"openDiverter": true,
"tagProps": [
"System/MCM01/Station/EPC/UL1_3_EPC1",
"value",
"value",
"value",
"value",
@ -27,20 +36,38 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_running},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {session.custom.alarm_filter.show_running},\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t5, {session.custom.alarm_filter.show_running},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
"fc": "{session.custom.fc}",
"plc": "{view.custom.plc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN"
},
"transforms": [
{
"expression": "!isGood({value})",
"expression": "if(isNull({value}), False, {value})",
"type": "expression"
}
],
@ -48,33 +75,39 @@
},
"persistent": true
},
"custom.openDiverter": {
"custom.display_icon": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode}||{this.custom.isMatch}\u003e0"
},
"type": "expr"
},
"persistent": true
},
"custom.error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": true
},
{
"input": 0,
"output": false
}
],
"outputType": "scalar",
"type": "map"
"expression": "0 \u003c {value} \u0026\u0026 {value} \u003c 5",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.isMatch": {
"binding": {
"config": {
"expression": "if({view.params.tagProps[0]}\u003d\"value\",0,\nif({this.custom.searchId}\u003d{view.params.tagProps[0]},100,0))"
},
"type": "expr"
},
"persistent": true
},
"custom.plc": {
"binding": {
"config": {
@ -102,6 +135,18 @@
"mappings": [
{
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
@ -116,12 +161,41 @@
"custom.priority_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Low\",\r\n0, \"No active alarms\",\r\n\"Unknown\")"
"expression": "case({view.custom.state},\r\n1, \"High\",\r\n2, \"Medium\",\r\n3, \"Low\",\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.running": {
"binding": {
"config": {
"expression": "{view.custom.running_status} \u003d 3"
},
"type": "expr"
},
"persistent": true
},
"custom.running_status": {
"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},{view.params.forceRunningStatus},0)",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.searchId": {
"binding": {
"config": {
@ -131,6 +205,36 @@
},
"persistent": true
},
"custom.show_error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {view.custom.isMatch}\u003e0,\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {view.custom.isMatch}\u003e0,\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.show_running": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, False,\r\n\t\t2, False,\r\n\t\t{session.custom.alarm_filter.show_running}\r\n\t\t)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.state": {
"binding": {
"config": {
@ -140,12 +244,40 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
@ -155,7 +287,16 @@
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n0, \"Closed\",\r\n1, \"Open\",\r\n\"Unknown\")"
"expression": "case({view.custom.running_status},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.visible_status": {
"binding": {
"config": {
"expression": "{view.custom.state} !\u003d 5"
},
"type": "expr"
},
@ -173,6 +314,10 @@
"paramDirection": "input",
"persistent": true
},
"params.openDiverter": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
@ -180,8 +325,8 @@
},
"props": {
"defaultSize": {
"height": 16,
"width": 15
"height": 1045,
"width": 1130
}
},
"root": {
@ -197,7 +342,7 @@
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.openDiverter} \u0026\u0026 {view.params.mirror}"
"expression": "{view.params.openDiverter} \u0026\u0026 {view.params.mirror}"
},
"type": "expr"
}
@ -219,9 +364,15 @@
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
"path": "view.custom.running_status"
},
"type": "expr"
"transforms": [
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
}
}
},
@ -257,7 +408,7 @@
"position.display": {
"binding": {
"config": {
"expression": "!{view.custom.openDiverter} \u0026\u0026 {view.params.mirror}"
"expression": "!{view.params.openDiverter} \u0026\u0026 {view.params.mirror}"
},
"type": "expr"
}
@ -279,9 +430,15 @@
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
"path": "view.custom.running_status"
},
"type": "expr"
"transforms": [
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
}
}
},
@ -317,7 +474,7 @@
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.openDiverter} \u0026\u0026 !{view.params.mirror}"
"expression": "{view.params.openDiverter} \u0026\u0026 !{view.params.mirror}"
},
"type": "expr"
}
@ -339,9 +496,15 @@
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
"path": "view.custom.running_status"
},
"type": "expr"
"transforms": [
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
}
}
},
@ -378,7 +541,7 @@
"position.display": {
"binding": {
"config": {
"expression": "!{view.custom.openDiverter} \u0026\u0026 !{view.params.mirror}"
"expression": "!{view.params.openDiverter} \u0026\u0026 !{view.params.mirror}"
},
"type": "expr"
}
@ -400,9 +563,15 @@
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
"path": "view.custom.running_status"
},
"type": "expr"
"transforms": [
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
}
}
},
@ -464,6 +633,20 @@
}
},
"propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state0},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state2},\r\n3,{session.custom.colours.state3},\r\n4,{session.custom.colours.state4},\r\n5,{session.custom.colours.state5},\r\n6,{session.custom.colours.state6},\r\n{session.custom.colours.Fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": {
"binding": {
"config": {
@ -476,7 +659,19 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
"outputType": "style-list",
@ -486,20 +681,41 @@
"type": "expr"
}
},
"meta.tooltip.style.color": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired},\r\n\t\u0027#000000\u0027,\r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#000000\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#FFFFFF\u0027,\r\n\t\t\t5,\u0027#FFFFFF\u0027,\r\n\t\t\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")"
},
"type": "expr"
}
},
"meta.visible": {
"binding": {
"config": {
"path": "view.custom.display_icon"
},
"type": "property"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"enabled": false,
"transforms": [
{
"fallback": "",
@ -520,6 +736,68 @@
],
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True \u0026\u0026 {view.custom.isMatch} \u003e 0,\r\n{view.custom.state} + 100 + {view.custom.isMatch},\r\n{view.custom.state} + {view.custom.isMatch})"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": 101,
"output": "State-Styles/State101"
},
{
"input": 102,
"output": "State-Styles/State102"
},
{
"input": 103,
"output": "State-Styles/State103"
},
{
"input": 104,
"output": "State-Styles/State104"
},
{
"input": 105,
"output": "State-Styles/State105"
},
{
"input": 106,
"output": "State-Styles/State106"
},
{
"input": 201,
"output": "State-Styles/State201"
},
{
"input": 202,
"output": "State-Styles/State202"
},
{
"input": 203,
"output": "State-Styles/State203"
},
{
"input": 204,
"output": "State-Styles/State204"
},
{
"input": 205,
"output": "State-Styles/State205"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
}
},
"props": {
@ -527,7 +805,6 @@
"justify": "center",
"style": {
"borderColor": "#FF0000",
"borderStyle": "none",
"borderWidth": "2px",
"cursor": "pointer"
}

View File

@ -325,8 +325,7 @@
"aspectRatio": "68:47",
"mode": "percent",
"style": {
"cursor": "pointer",
"overflow": "hidden"
"cursor": "pointer"
}
},
"type": "ia.container.coord"