diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/page-config/config.json b/MTN6_SCADA/com.inductiveautomation.perspective/page-config/config.json index 7d982b5..81e1aad 100644 --- a/MTN6_SCADA/com.inductiveautomation.perspective/page-config/config.json +++ b/MTN6_SCADA/com.inductiveautomation.perspective/page-config/config.json @@ -231,6 +231,34 @@ "size": 400, "viewParams": {}, "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Device-Status" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-Extendo", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-MCM", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM" } ], "top": [ diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json b/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json index ca7786f..271e7ca 100644 --- a/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json +++ b/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json @@ -23,6 +23,10 @@ "/Device-manager": { "viewPath": "Main-Views/Device-Manager/DeviceManager" }, + "/Extendo": { + "title": "", + "viewPath": "Simulations/Extendo" + }, "/Field_Devices": { "title": "", "viewPath": "Simulations/Field_Devices" @@ -195,6 +199,20 @@ "size": 400, "viewParams": {}, "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-Extendo", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo" } ], "top": [ diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/resource.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/resource.json new file mode 100644 index 0000000..cb006c1 --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-30T10:38:01Z" + }, + "lastModificationSignature": "cf2dfc6386e69cf24a8b9fec295ef389020353855ff9e0b8eab452cd02d10afb" + } +} \ No newline at end of file diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/thumbnail.png b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/thumbnail.png new file mode 100644 index 0000000..be6095a Binary files /dev/null and b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/thumbnail.png differ diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/view.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/view.json new file mode 100644 index 0000000..9d153cb --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Extendo/view.json @@ -0,0 +1,66 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 1080, + "width": 1920 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "http://127.0.0.1:5500/VFD.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "FL4066_4_EX1" + }, + "position": { + "height": 225, + "width": 355, + "x": 766.83, + "y": 410.08 + }, + "props": { + "params": { + "directionLeft": false, + "forceFaultStatus": null, + "forceRunningStatus": null, + "tagProps": [ + "System/Extendo/FL4066_4_EX1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Extendo" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json index 0a6e6a8..e68fecc 100644 --- a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json @@ -153,6 +153,35 @@ "text": "MCM" }, "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/Extendo" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button_4" + }, + "position": { + "height": 0.1313, + "rotate": { + "anchor": "100% -106%" + }, + "width": 0.1187, + "x": 0.4282, + "y": 0.3858 + }, + "props": { + "text": "Extendo" + }, + "type": "ia.input.button" } ], "meta": { diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/page-config/config.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/page-config/config.json index ccbfd5e..c12bdc1 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/page-config/config.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/page-config/config.json @@ -175,6 +175,20 @@ "size": 400, "viewParams": {}, "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-Extendo", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo" } ], "top": [ diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/resource.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/resource.json new file mode 100644 index 0000000..bf51695 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-30T12:00:54Z" + }, + "lastModificationSignature": "107b253caa99ddcabc077ff704f93fd1b8fb7cf8c47437c9472200a13b6bf1a8" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/thumbnail.png b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/thumbnail.png new file mode 100644 index 0000000..f6b86ef Binary files /dev/null and b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/thumbnail.png differ diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/view.json new file mode 100644 index 0000000..0c27445 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo/view.json @@ -0,0 +1,2196 @@ +{ + "custom": { + "PLC_list": null, + "running_state": -1, + "state": 0, + "views_data": [] + }, + "params": { + "tagProps": [ + "System/Extendo/FL4066_4_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.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 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "FULL" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Full" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "FULL", + "output": "#FFFFFF" + }, + { + "input": "NOT FULL", + "output": "#D5D5D5" + } + ], + "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}/Alarm/Pressed" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "NOT FULL", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "FULL" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "FULL", + "output": "#FF0000" + }, + { + "input": "NOT FULL", + "output": "#47FF47" + } + ], + "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": "Full" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "ESTOPPED" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Estopped" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Alarm/EStopped" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Estopped" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "COMMUNICATION FAULTED" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Communication Faulted" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Alarm/Communication_Faulted" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Communication Faulted" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "EXTENDO FAULTED" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Extendo Faulted" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Alarm/Extendo_Faulted" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Extendo Faulted" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "AOPEN ACTIVE" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Aopen_Active" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Aopen Active" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "FULLY EXTENDED" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Fully_Extended" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Fully Extended" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "FULLY RETRACTED" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Fully_Retracted" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Fully Retracted" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Name" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "LOADING MODE" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Loading_Mode" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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": "Loading Mode" + }, + "position": { + "basis": "35px" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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" + }, + "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": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FFFFFF" + }, + { + "input": "FALSE", + "output": "#D5D5D5" + } + ], + "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}/Power_Saving_Mode" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "FALSE", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "TRUE" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "TRUE", + "output": "#FF0000" + }, + { + "input": "FALSE", + "output": "#47FF47" + } + ], + "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" + }, + "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\tsystem.tag.writeBlocking([tag_path],[True])" + }, + "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": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Start_PB_STATE" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "#FF0000", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "#FF9191" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "image": {}, + "style": { + "classes": "Background-Styles/Controller" + }, + "text": "PEC OVERRIDE" + }, + "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+\"/PEC_Override_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])" + }, + "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": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Start_PB_STATE" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, + { + "fallback": "#FF0000", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "#FF9191" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Background-Styles/Controller" + }, + "text": "RESET EXTENDO FAULT" + }, + "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 + }, + "props": { + "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 + } + }, + "tabs": [ + "Alarms", + "Info", + "Commands" + ] + }, + "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" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-MCM/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-MCM/view.json index 02e232e..6af3239 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-MCM/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-MCM/view.json @@ -1,14 +1,6 @@ { "custom": { - "PLC_list": [ - "MCM01", - "MCM02", - "MCM03", - "MCM04", - "MCM05", - "MCM06", - "MCM07" - ], + "PLC_list": null, "running_state": -1, "state": 0, "views_data": [] @@ -3061,7 +3053,6 @@ } }, "props": { - "image": {}, "style": { "classes": "Background-Styles/Controller" }, diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Extendo/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Extendo/view.json index c076014..6353d9a 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Extendo/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Extendo/view.json @@ -1,19 +1,19 @@ { "custom": { "disconnected": true, - "plc": "System", + "plc": "value", "priority": 0, - "priority_string": 0, + "priority_string": "No Active Alarms", "searchId": "PLC01", "state": 0, - "state_string": 0 + "state_string": "Loading Not Allowed" }, "params": { "directionLeft": false, "forceFaultStatus": null, "forceRunningStatus": null, "tagProps": [ - "System/D2C/D2C_Chute_1", + "value", "value", "value", "value", @@ -67,6 +67,44 @@ "config": { "path": "view.custom.state" }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 0 + }, + { + "input": 1, + "output": 0 + }, + { + "input": 2, + "output": 0 + }, + { + "input": 3, + "output": 3 + }, + { + "input": 4, + "output": 1 + }, + { + "input": 5, + "output": 1 + }, + { + "input": 6, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], "type": "property" }, "persistent": true @@ -76,6 +114,44 @@ "config": { "path": "view.custom.state" }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "No Active Alarms" + }, + { + "input": 1, + "output": "No Active Alarms" + }, + { + "input": 2, + "output": "No Active Alarms" + }, + { + "input": 3, + "output": "Low" + }, + { + "input": 4, + "output": "High" + }, + { + "input": 5, + "output": "High" + }, + { + "input": 6, + "output": "High" + } + ], + "outputType": "scalar", + "type": "map" + } + ], "type": "property" }, "onChange": { @@ -117,9 +193,9 @@ "custom.state_string": { "binding": { "config": { - "path": "view.custom.priority" + "expression": "case({view.custom.state},\r\n0, \"Loading Not Allowed\",\r\n1, \"Loading Allowed\",\r\n2, \"Running\",\r\n3, \"Full\",\r\n4, \"Communication Faulted\",\r\n5, \"Extendo Faulted\",\r\n6, \"Estopped\",\r\n\"Unknown\")" }, - "type": "property" + "type": "expr" }, "persistent": true }, @@ -169,15 +245,37 @@ ], "type": "property" } + }, + "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, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].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, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[2].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, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n" + }, + "type": "expr" + } } }, "props": { "elements": [ { "d": "M 50 0 L 65 0 L 80 30 L 65 60 L 50 60 Z", - "fill": { - "paint": "#000000" - }, + "fill": {}, "name": "path", "stroke": { "paint": "#4c4c4c", @@ -187,9 +285,7 @@ }, { "d": "M 45 0 L 25 0 L 25 30 L 25 60 L 45 60 Z", - "fill": { - "paint": "#000000" - }, + "fill": {}, "name": "path", "stroke": { "paint": "#4c4c4c", @@ -199,9 +295,7 @@ }, { "d": "M 0 0 L 20 0 L 20 30 L 20 60 L 0 60 Z", - "fill": { - "paint": "#000000" - }, + "fill": {}, "name": "path", "stroke": { "paint": "#4c4c4c", @@ -222,7 +316,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-SNP\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-Extendo\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script"