{ "custom": { "PLC_list": [ "MCM01", "MCM02", "MCM03", "MCM04", "MCM05", "MCM06", "MCM07" ], "running_state": -1, "state": 0, "type": 0, "views_data": [] }, "params": { "tagProps": [ "System/MCM01/Conveyor/EXTENDO/UL1_1_EX1", "value", "value", "value", "value", "value", "value", "value", "value", "value" ] }, "propConfig": { "custom.PLC_list": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC" }, "transforms": [ { "code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n", "type": "script" } ], "type": "tag" }, "persistent": true }, "custom.running_state": { "binding": { "config": { "expression": "try(jsonGet({session.custom.state_messages},{this.custom.tag_path_to_lookup}),-1)\t\r\n" }, "transforms": [ { "expression": "if({value} !\u003d -1, try(jsonGet({value},\"state\"),4),{value})", "type": "expression" } ], "type": "expr" }, "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": "if(isNull({value}), 0, {value})", "type": "expression" }, { "fallback": null, "inputType": "scalar", "mappings": [ { "input": 3, "output": 3 }, { "input": 2, "output": 2 }, { "input": 1, "output": 1 }, { "input": 0, "output": 0 } ], "outputType": "scalar", "type": "map" } ], "type": "tag" }, "persistent": true }, "custom.type": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "if(isNull({value}), 0, {value})", "type": "expression" }, { "fallback": null, "inputType": "scalar", "mappings": [ { "input": 1, "output": 1 }, { "input": 0, "output": 0 } ], "outputType": "scalar", "type": "map" } ], "type": "tag" }, "persistent": true }, "custom.views_data": { "binding": { "config": { "struct": { "equipment_id": "{view.params.tagProps[0]}" }, "waitOnAll": true }, "transforms": [ { "code": "\tproject_info \u003d system.perspective.getProjectInfo()\n\t#self.custom.views_data \u003d project_info\n\tviews \u003d project_info.get(\"views\")\n\t#equipment_id \u003d self.view.params.tagProps[0]\n\tviews_data \u003d [i for i in views if i[\"path\"].startswith(\"Custom-Views/\"+ value.equipment_id)]\n\t#self.custom.views_data \u003d views_data\n\t\n\treturn views_data", "type": "script" } ], "type": "expr-struct" }, "persistent": true }, "params.tagProps": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "width": 400 } }, "root": { "children": [ { "children": [ { "children": [ { "meta": { "name": "Label" }, "position": { "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}" }, "type": "expr" } } }, "props": { "style": { "color": "#FFFF", "fontFamily": "Arial", "fontSize": 14, "fontWeight": "bold", "paddingLeft": 10 } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": { "config": { "script": "\tsystem.perspective.closeDock(\u0027Docked-East-Extendo\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Icon", "tooltip": { "enabled": true, "style": { "cursor": "pointer" }, "text": "Close faceplate" } }, "props": { "path": "material/close", "style": { "cursor": "pointer", "marginBottom": 5, "marginLeft": 5, "marginRight": 5, "marginTop": 5 } }, "type": "ia.display.icon" } ], "meta": { "name": "FlexContainer" }, "position": { "basis": "30px", "shrink": 0 }, "props": { "style": { "overflow": "hidden" } }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "children": [ { "meta": { "name": "Label" }, "position": { "basis": "32px", "display": false }, "propConfig": { "position.display": { "binding": { "config": { "expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)" }, "enabled": false, "type": "expr" } } }, "props": { "style": { "classes": "Labels/Label_1", "marginTop": 20 }, "text": "No Active Alarms" }, "type": "ia.display.label" }, { "meta": { "name": "AlarmStatusTable" }, "position": { "basis": "400px", "grow": 1 }, "propConfig": { "props.filters.active.text": { "binding": { "config": { "path": "view.params.tagProps[0]" }, "transforms": [ { "code": "\treturn value[1:]", "type": "script" } ], "type": "property" } } }, "props": { "columns": { "active": { "displayPath": { "enabled": false }, "priority": { "enabled": false }, "source": { "enabled": false }, "state": { "enabled": false } } }, "filters": { "active": { "priorities": { "critical": false, "high": false, "low": false, "medium": false }, "states": { "clearUnacked": false } } }, "refreshRate": 500, "toolbar": { "enabled": false } }, "type": "ia.display.alarmstatustable" } ], "meta": { "name": "Active_tab" }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "children": [ { "meta": { "name": "NameField" }, "position": { "basis": "50%", "grow": 1 }, "props": { "style": { "paddingLeft": 20 }, "text": "NAME" }, "type": "ia.display.label" }, { "meta": { "name": "DeviceName" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.params.tagProps[0]" }, "transforms": [ { "code": " return value.rsplit(\u0027/\u0027, 1)[-1]", "type": "script" } ], "type": "property" } } }, "props": { "style": { "backgroundColor": "#FFFFFF", "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 } }, "type": "ia.display.label" } ], "meta": { "name": "Name" }, "position": { "basis": "35px" }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel", "overflow": "hidden" } }, "type": "ia.container.flex" } ], "meta": { "name": "Name" }, "position": { "basis": "35px" }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "BELT RUNNING" }, { "input": 0, "output": "AOPEN ACTIVE" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "paddingLeft": 20 } }, "type": "ia.display.label" }, { "meta": { "name": "Aopen Active" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "code": "\tprovider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n\tbaseTag \u003d self.view.params.tagProps[0]\n\tbasePath \u003d \"[\" + provider + \"]\" + baseTag\n\tchild \u003d \"\"\n\tunit \u003d \"\"\n\t\n\tif value \u003d\u003d 1:\n\t child \u003d \"Belt_Running\"\n\telse:\n\t child \u003d \"Aopen_Active\"\n\t\n\tfullPath \u003d basePath + \"/\" + child\n\ttagValue \u003d system.tag.readBlocking([fullPath])[0]\n\tresult \u003d tagValue.value\n\t\n\tif result is None or str(result) \u003d\u003d \"None\":\n\t return \"UNKNOWN\"\n\telse:\n\t if value \u003d\u003d 1:\n\t return \"Running\" if result else \"Not Running\"\n\t else:\n\t \treturn \"Active\" if result else \"Not Active\"\n\t ", "type": "script" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "enabled": false, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "ACTIVE", "output": "#47FF47" }, { "input": "NOT ACTIVE", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 }, "textStyle": { "color": "#000000" } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Aopen Active" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": true }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "PLC READY TO RUN" }, { "input": 0, "output": "FULLY EXTENDED" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "paddingLeft": 20 } }, "type": "ia.display.label" }, { "meta": { "name": "Fully Extended" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "code": "\tprovider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n\tbaseTag \u003d self.view.params.tagProps[0]\n\tbasePath \u003d \"[\" + provider + \"]\" + baseTag\n\tchild \u003d \"\"\n\t\n\tif value \u003d\u003d 1:\n\t child \u003d \"PLC_Ready_To_Run\"\n\telse:\n\t child \u003d \"Fully_Extended\"\n\t\n\tfullPath \u003d basePath + \"/\" + child\n\ttagValue \u003d system.tag.readBlocking([fullPath])[0]\n\tresult \u003d tagValue.value\n\t\n\tif result is None or str(result) \u003d\u003d \"None\":\n\t return \"UNKNOWN\"\n\telse:\n\t if value \u003d\u003d 1:\n\t return \"Ready\" if result else \"Not Ready\"\n\t else:\n\t \treturn \"Extended\" if result else \"Not Extended\"\n\t ", "type": "script" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "enabled": false, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "EXTENDED", "output": "#47FF47" }, { "input": "NOT EXTENDED", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 }, "textStyle": { "color": "#000000" } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Fully Extended" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": true }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "OK TO RUN" }, { "input": 0, "output": "FULLY RETRACTED" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "paddingLeft": 20 } }, "type": "ia.display.label" }, { "meta": { "name": "Fully Retracted" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "code": "\tprovider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n\tbaseTag \u003d self.view.params.tagProps[0]\n\tbasePath \u003d \"[\" + provider + \"]\" + baseTag\n\tchild \u003d \"\"\n\t\n\tif value \u003d\u003d 1:\n\t child \u003d \"OK_To_Run\"\n\telse:\n\t child \u003d \"Fully_Retracted\"\n\t\n\tfullPath \u003d basePath + \"/\" + child\n\ttagValue \u003d system.tag.readBlocking([fullPath])[0]\n\tresult \u003d tagValue.value\n\t\n\tif result is None or str(result) \u003d\u003d \"None\":\n\t return \"UNKNOWN\"\n\telse:\n\t if value \u003d\u003d 1:\n\t return \"OK\" if result else \"Not OK\"\n\t else:\n\t \treturn \"Retracted\" if result else \"Not Retracted\"\n\t ", "type": "script" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "enabled": false, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "RETRACTED", "output": "#47FF47" }, { "input": "NOT RETRACTED", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 }, "textStyle": { "color": "#000000" } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Fully Retracted" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": true }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "READY TO RECEIVE" }, { "input": 0, "output": "LODAING MODE" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "paddingLeft": 20 } }, "type": "ia.display.label" }, { "meta": { "name": "Loading Mode" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "code": "\tprovider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n\tbaseTag \u003d self.view.params.tagProps[0]\n\tbasePath \u003d \"[\" + provider + \"]\" + baseTag\n\tchild \u003d \"\"\n\t\n\tif value \u003d\u003d 1:\n\t child \u003d \"Ready_To_Receive\"\n\telse:\n\t child \u003d \"Loading_Mode\"\n\t\n\tfullPath \u003d basePath + \"/\" + child\n\ttagValue \u003d system.tag.readBlocking([fullPath])[0]\n\tresult \u003d tagValue.value\n\t\n\tif result is None or str(result) \u003d\u003d \"None\":\n\t return \"UNKNOWN\"\n\telse:\n\t if value \u003d\u003d 1:\n\t return \"Ready\" if result else \"Not Ready\"\n\t else:\n\t \treturn \"ON\" if result else \"OFF\"\n\t ", "type": "script" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "enabled": false, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "ON", "output": "#47FF47" }, { "input": "OFF", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 }, "textStyle": { "color": "#000000" } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Loading Mode" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": true }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "props": { "style": { "paddingLeft": 20 }, "text": "UNLOADING MODE" }, "type": "ia.display.label" }, { "meta": { "name": "Unloading Mode" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Unloading_Mode" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "ON" }, { "input": 0, "output": "OFF" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "ON", "output": "#47FF47" }, { "input": "OFF", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Unloading Mode" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": false }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "meta": { "name": "Name" }, "position": { "basis": "50%", "grow": 1 }, "props": { "style": { "paddingLeft": 20 }, "text": "POWER SAVING MODE" }, "type": "ia.display.label" }, { "meta": { "name": "Power Saving Mode" }, "position": { "basis": "50%", "grow": 1 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#D5D5D5", "inputType": "scalar", "mappings": [ { "input": "UNKNOWN", "output": "#FFFFFF" } ], "outputType": "color", "type": "map" } ], "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Unloading_Mode" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")", "type": "expression" }, { "fallback": "UNKNOWN", "inputType": "scalar", "mappings": [ { "input": 1, "output": "ON" }, { "input": 0, "output": "OFF" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } }, "props.textStyle.color": { "binding": { "config": { "path": "this.props.text" }, "transforms": [ { "fallback": "#000000", "inputType": "scalar", "mappings": [ { "input": "ON", "output": "#47FF47" }, { "input": "OFF", "output": "#FF0000" } ], "outputType": "color", "type": "map" } ], "type": "property" } } }, "props": { "style": { "classes": "Text-Styles/Ariel-Bold-12pt", "paddingLeft": 10 } }, "type": "ia.display.label" } ], "meta": { "name": "Property" }, "position": { "basis": "35px", "shrink": 2 }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel" } }, "type": "ia.container.flex" } ], "meta": { "name": "Power Saving Mode" }, "position": { "basis": "35px" }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/EX_Type" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},false)", "type": "expression" }, { "fallback": false, "inputType": "scalar", "mappings": [ { "input": 1, "output": false }, { "input": 0, "output": true } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" } ], "meta": { "name": "Info_tab" }, "position": { "tabIndex": 1 }, "props": { "direction": "column", "style": { "margin-left": "" } }, "type": "ia.container.flex" }, { "children": [ { "children": [ { "children": [ { "events": { "component": { "onActionPerformed": { "config": { "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\" + tag_name + \"/PEC_Override_PB\"\n\tcurrent_value \u003d system.tag.readBlocking([tag_path])[0].value\n\tnew_value \u003d not current_value\n\tsystem.tag.writeBlocking([tag_path], [new_value])" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Button" }, "position": { "basis": "80px", "grow": 1 }, "propConfig": { "props.enabled": { "binding": { "config": { "expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0" }, "type": "expr" } }, "props.style.backgroundColor": { "binding": { "config": { "expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#9661A3\",\r\n if(\r\n {this.props.text} \u003d \"PEC OVERRIDE: ON\",\r\n \"#E888FF\",\r\n if(\r\n {this.props.text} \u003d \"PEC OVERRIDE: OFF\",\r\n \"#CC00FF\",\r\n \"#FFFFFF\"\r\n )\r\n )\r\n)\r\n" }, "type": "expr" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/PEC_Override_PB" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},0)", "type": "expression" }, { "fallback": "PEC OVERRIDE: OFF", "inputType": "scalar", "mappings": [ { "input": 1, "output": "PEC OVERRIDE: ON" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "classes": "Background-Styles/Controller" } }, "type": "ia.input.button" } ], "meta": { "name": "PEC Override" }, "position": { "basis": "35px" }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel", "padding": "" } }, "type": "ia.container.flex" }, { "children": [ { "events": { "component": { "onActionPerformed": { "config": { "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\" + tag_name + \"/Extendo_Faults_Reset_PB\"\n\tcurrent_value \u003d system.tag.readBlocking([tag_path])[0].value\n\tnew_value \u003d not current_value\n\tsystem.tag.writeBlocking([tag_path], [new_value])" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Button" }, "position": { "basis": "80px", "grow": 1 }, "propConfig": { "props.enabled": { "binding": { "config": { "expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0" }, "type": "expr" } }, "props.style.backgroundColor": { "binding": { "config": { "expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#BB5050\",\r\n if(\r\n {this.props.text} \u003d \"EXTENDO FAULTS RESET PRESSED\",\r\n \"#FF9191\",\r\n if(\r\n {this.props.text} \u003d \"EXTENDO FAULTS RESET\",\r\n \"#FF0000\",\r\n \"#FFFFFF\"\r\n )\r\n )\r\n)\r\n" }, "type": "expr" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Extendo_Faults_Reset_PB" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},0)", "type": "expression" }, { "fallback": "EXTENDO FAULTS RESET", "inputType": "scalar", "mappings": [ { "input": 1, "output": "EXTENDO FAULTS RESET PRESSED" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "classes": "Background-Styles/Controller" } }, "type": "ia.input.button" } ], "meta": { "name": "Extendo Fault Reset" }, "position": { "basis": "35px" }, "props": { "style": { "classes": "PopUp-Styles/InfoLabel", "padding": "" } }, "type": "ia.container.flex" } ], "meta": { "name": "FlexContainer_0" }, "position": { "basis": "100px", "grow": 1 }, "props": { "direction": "column", "style": { "gap": 6, "paddingBottom": 20, "paddingLeft": 10, "paddingRight": 10, "paddingTop": 13 } }, "type": "ia.container.flex" } ], "meta": { "name": "Commands_tab" }, "position": { "tabIndex": 2 }, "props": { "direction": "column", "style": { "paddingTop": 1 } }, "type": "ia.container.flex" } ], "meta": { "name": "tabs" }, "position": { "grow": 1 }, "propConfig": { "props.tabs": { "binding": { "config": { "path": "view.custom.type" }, "transforms": [ { "code": "\t# This script runs whenever view.custom.type changes\n\tif value \u003d\u003d 0 or value \u003d\u003d 3:\n\t\treturn [\"Alarms\", \"Info\", \"Commands\"]\n\telse:\n\t\treturn [\"Alarms\", \"Info\"]", "type": "script" } ], "type": "property" } } }, "props": { "currentTabIndex": 1, "menuType": "modern", "tabSize": { "width": 1000 }, "tabStyle": { "active": { "classes": "", "color": "#FFFFFF", "fontFamily": "Arial", "fontSize": 14, "fontWeight": "bold", "paddingLeft": 10 }, "inactive": { "classes": "", "color": "#B8B8B8", "fontFamily": "Arial", "fontSize": 14, "fontWeight": "bold", "paddingLeft": 10 } } }, "type": "ia.container.tab" } ], "meta": { "name": "FlexContainer_1" }, "position": { "basis": "670px", "grow": 1 }, "props": { "style": { "border-top": "1px solid white", "gap": "" } }, "type": "ia.container.flex" } ], "meta": { "name": "FlexContainer" }, "position": { "basis": "800px", "grow": 1 }, "props": { "direction": "column" }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "direction": "column", "style": { "classes": "Buttons/Button-Menu" } }, "type": "ia.container.flex" } }