From 15adeb76d7d212b5fe657f4945421f68bb31c9f9 Mon Sep 17 00:00:00 2001 From: "gigi.mamaladze" Date: Fri, 17 Oct 2025 00:25:35 +0400 Subject: [PATCH] Added Sorter Management view --- .../page-config/config.json | 18 + .../Additional-Home-View/Overview/view.json | 23 + .../SorterManagement/resource.json | 17 + .../SorterManagement/thumbnail.png | Bin 0 -> 56946 bytes .../SorterManagement/view.json | 953 ++++++++++++++++++ .../Equipment-Views/Induction/view.json | 221 +++- 6 files changed, 1212 insertions(+), 20 deletions(-) create mode 100644 CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/resource.json create mode 100644 CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/thumbnail.png create mode 100644 CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/view.json diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/page-config/config.json b/CNO8_SCADA/com.inductiveautomation.perspective/page-config/config.json index 148d746..4da6caa 100644 --- a/CNO8_SCADA/com.inductiveautomation.perspective/page-config/config.json +++ b/CNO8_SCADA/com.inductiveautomation.perspective/page-config/config.json @@ -55,6 +55,10 @@ "title": "", "viewPath": "Alarm-Views/RealTime" }, + "/Sorter-Management": { + "title": "", + "viewPath": "Additional-Home-View/SorterManagement" + }, "/Temperature": { "title": "", "viewPath": "Main-Views/TempMonitoring" @@ -260,6 +264,20 @@ "size": 400, "viewParams": {}, "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Chute-EN" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-IND", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Induction" } ], "top": [ diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/Overview/view.json b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/Overview/view.json index bfb44f9..30adba5 100644 --- a/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/Overview/view.json +++ b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/Overview/view.json @@ -41710,6 +41710,29 @@ } }, "type": "ia.display.view" + }, + { + "meta": { + "name": "MCM02_Button_0" + }, + "position": { + "height": 0.0417, + "rotate": { + "anchor": "231% 721%" + }, + "width": 0.1078, + "x": 0.3254, + "y": 0.648 + }, + "props": { + "params": { + "pageid": "Sorter-Management", + "panel_id": "value", + "text": "Sorter Management" + }, + "path": "Symbol-Views/Equipment-Views/Area_Nav_Button" + }, + "type": "ia.display.view" } ], "custom": { diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/resource.json b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/resource.json new file mode 100644 index 0000000..39488ae --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/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-10-16T20:23:21Z" + }, + "lastModificationSignature": "cbfd2ad82d0ddf94bee74d28e58b15ad06c7e2f184962d51734913e050d5a1fa" + } +} \ No newline at end of file diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/thumbnail.png b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..738757a6a903c69b15e0ecbb4e0c3fdff7a4131d GIT binary patch literal 56946 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 D!RW50 literal 0 HcmV?d00001 diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/view.json b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/view.json new file mode 100644 index 0000000..824718c --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.perspective/views/Additional-Home-View/SorterManagement/view.json @@ -0,0 +1,953 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sorter" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "custom.animation": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]/System/SMC/Sorter" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027#000000\u0027\n \n # Priority-based status determination (lower number \u003d higher priority)\n\tactive_status \u003d \u0027default\u0027\n \n # Check in priority order (highest to lowest)\n\tif value.get(\u0027Common_Error\u0027, False):\n\t\tactive_status \u003d \u0027common_error\u0027\n\telif value.get(\u0027Blocked\u0027, False):\n\t\tactive_status \u003d \u0027blocked\u0027\t\n\telif value.get(\u0027Test_Mode\u0027, False) or value.get(\u0027Discharge_Test_Mode\u0027, False) or value.get(\u0027Lamp_Test_Mode\u0027, False) or value.get(\u0027Carrier_Selected\u0027, False):\n\t\tactive_status \u003d \u0027test_mode\u0027\n\telif value.get(\u0027Running\u0027, False):\n\t\tactive_status \u003d \u0027running\u0027\n\telif value.get(\u0027Starting\u0027, False) or value.get(\u0027Stopping\u0027, False):\n\t\tactive_status \u003d \u0027transitional\u0027\n\telif value.get(\u0027Not_Synchronised\u0027, False):\n\t\tactive_status \u003d \u0027not_synchronised\u0027\n\telif value.get(\u0027Energy_Saving\u0027, False):\n\t\tactive_status \u003d \u0027energy_saving\u0027\n\telif value.get(\u0027Stopped\u0027, False) or value.get(\u0027Power_Off\u0027, False) or value.get(\u0027Disabled\u0027, False) or value.get(\u0027Sortation_Allowed\u0027, False):\n\t\tactive_status \u003d \u0027inactive\u0027\n \n\tcolor_map \u003d {\n \u0027common_error\u0027: \u0027#FF0000\u0027,\n\t\t \u0027blocked\u0027: \u0027#D900D9\u0027,\n \u0027test_mode\u0027: \u0027#0000FF\u0027,\n \u0027running\u0027: \u0027#00FF00\u0027,\n \u0027transitional\u0027: \u0027#90EE90\u0027,\n \u0027not_synchronised\u0027: \u0027#FF8C00\u0027,\n \u0027energy_saving\u0027: \u0027#87CEFA\u0027,\n \u0027inactive\u0027: \u0027#C2C2C2\u0027,\n \u0027default\u0027: \u0027#000000\u0027\n }\n \n\treturn color_map.get(active_status, \u0027#000000\u0027)", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "this.custom.animation" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "id": "defs1", + "name": "defs1", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 1857.5613,639.69126 h 5.4397 c 0,0 1.2164,29.91999 -15.6138,43.99089 -10.2537,8.57269 -21.7868,8.90116 -21.7868,8.90116 v -8.04169 c 0,0 17.4673,-1.93137 24.3279,-17.11726 6.8599,-15.18603 5.0151,-27.7331 5.0151,-27.7331 z", + "fill": {}, + "id": "path1-9-5", + "name": "path1-9-5", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + }, + { + "d": "m 1854.3984,440.56398 h 8.0659 c 0,0 -1.4088,-29.91998 -18.2386,-43.99089 -10.2547,-8.57274 -21.7092,-8.72539 -21.7092,-8.72539 l 0.2316,7.53385 c 0,0 17.1539,2.26349 24.0148,17.44937 6.8593,15.1859 7.6385,27.73306 7.6385,27.73306 z", + "fill": {}, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + }, + { + "d": "m 82.860959,640.6087 -7.899833,0.0531 c 0,0 -0.211704,26.51853 15.808346,41.50488 10.640248,9.95386 23.532028,10.27225 23.532028,10.27225 l 0.0305,-7.7024 c 0,0 -18.409508,-0.87952 -25.545973,-19.54576 -6.715576,-17.56555 -5.662038,-23.24949 -5.926625,-24.58422 z", + "fill": {}, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + }, + { + "fill": {}, + "height": "194.57672", + "id": "rect1-7", + "name": "rect1-7", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "0.99775" + }, + "type": "rect", + "width": "7.9402342", + "x": "1855.0876", + "y": "442.88269" + }, + { + "fill": {}, + "height": "1706.9486", + "id": "rect1-8-5-1", + "name": "rect1-8-5-1", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "0.999754" + }, + "transform": "rotate(90)", + "type": "rect", + "width": "8.1251793", + "x": "684.62714", + "y": "-1823.3779" + }, + { + "fill": {}, + "height": "1336.1741", + "id": "rect1-8-5", + "name": "rect1-8-5", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "transform": "rotate(90)", + "type": "rect", + "width": "7.8336754", + "x": "387.60034", + "y": "-1819.8773" + }, + { + "fill": {}, + "height": "313.17017", + "id": "rect1-8", + "name": "rect1-8", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "0.999269" + }, + "transform": "rotate(90)", + "type": "rect", + "width": "7.938838", + "x": "406.01526", + "y": "-429.93036" + }, + { + "fill": {}, + "height": "170.06448", + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "0.997075" + }, + "type": "rect", + "width": "7.940949", + "x": "74.990303", + "y": "468.55899" + }, + { + "d": "m 82.978304,466.41562 h -8.06557 c 0,0 -0.137441,-35.41633 16.139819,-50.12292 9.977407,-9.01465 23.532077,-10.27224 23.532077,-10.27224 l -0.007,7.97579 c 0,0 -17.320918,0.99287 -24.457246,19.65904 -7.136409,18.66632 -7.142113,32.76033 -7.142113,32.76033 z", + "fill": {}, + "id": "path1", + "name": "path1", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + }, + { + "d": "m 432.02067,405.99338 -0.007,7.98072 6.37897,0.0933 35.94372,-18.51849 6.65795,-0.0748 0.007,-8.04185 -6.82604,0.007 -35.79839,18.59082 z", + "fill": {}, + "id": "path2", + "name": "path2", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "0.987103" + }, + "type": "path" + } + ], + "id": "Layer 1", + "name": "Layer 1", + "type": "group" + }, + { + "id": "Layer 2", + "name": "Layer 2", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 1920 1080" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.0296, + "width": 0.176, + "x": 0.3915, + "y": 0.023 + }, + "props": { + "text": "Sorter Commands", + "textStyle": { + "fontSize": "2vmin", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Induction_8" + }, + "position": { + "height": 0.1241, + "width": 0.0599, + "x": 0.4346, + "y": 0.5098 + }, + "props": { + "params": { + "automatic": true, + "mirror": true, + "tagProps": [ + "System/SMC/Induction/Induction_8", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_6" + }, + "position": { + "height": 0.1241, + "width": 0.0599, + "x": 0.0817, + "y": 0.251 + }, + "props": { + "params": { + "automatic": true, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_6", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_5" + }, + "position": { + "height": 0.1241, + "width": 0.0599, + "x": 0.1408, + "y": 0.2511 + }, + "props": { + "params": { + "automatic": true, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_5", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_4" + }, + "position": { + "height": 0.1241, + "width": 0.0599, + "x": 0.197, + "y": 0.251 + }, + "props": { + "params": { + "automatic": true, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_4", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_1" + }, + "position": { + "height": 0.1241, + "width": 0.0599, + "x": 0.8425, + "y": 0.2359 + }, + "props": { + "params": { + "automatic": true, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_2" + }, + "position": { + "height": 0.0667, + "width": 0.0443, + "x": 0.7981, + "y": 0.2921 + }, + "props": { + "params": { + "automatic": false, + "mirror": true, + "tagProps": [ + "System/SMC/Induction/Induction_2", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_3" + }, + "position": { + "height": 0.0667, + "width": 0.0443, + "x": 0.7532, + "y": 0.2922 + }, + "props": { + "params": { + "automatic": false, + "mirror": true, + "tagProps": [ + "System/SMC/Induction/Induction_3", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_0" + }, + "position": { + "height": 0.1241, + "width": 0.0604, + "x": 0.9011, + "y": 0.2356 + }, + "props": { + "params": { + "automatic": true, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_0", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bNormal_stop\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_10" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.0926 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "NORMAL STOP" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n\ttag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bEmpty_stop\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_11" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.1155 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "EMMPTY STOP" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bUIs_Empty_stop\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_12" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.1384 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "UI EMPTY STOP" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bEnable\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_13" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.1613 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "ENABLE" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bDisable\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_14" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.1841 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "DISABLE" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bBlock\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_15" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.2069 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "BLOCK" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bUnblock\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_16" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.2299 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "UNBLOCK" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bLamp_test_stop\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_17" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.2526 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "LAMP TEST STOP" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bLamp_test_start\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_18" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.2755 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "LAMP TEST START" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/reset\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_19" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4031, + "y": 0.2984 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "RESET" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": " provider \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\"\n tag_path8 \u003d provider + \"System/SMC/Sorter/Commands/bStart\"\n system.tag.writeBlocking([tag_path8], [True])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_20" + }, + "position": { + "height": 0.019, + "width": 0.1394, + "x": 0.4034, + "y": 0.0702 + }, + "props": { + "style": { + "backgroundColor": "#3779AE", + "color": "#FAFAFA" + }, + "text": "START" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Induction_10" + }, + "position": { + "height": 0.0667, + "width": 0.0443, + "x": 0.5335, + "y": 0.5679 + }, + "props": { + "params": { + "automatic": false, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_10", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Induction_9" + }, + "position": { + "height": 0.0667, + "width": 0.0443, + "x": 0.4882, + "y": 0.5668 + }, + "props": { + "params": { + "automatic": false, + "mirror": false, + "tagProps": [ + "System/SMC/Induction/Induction_9", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Induction" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Induction/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Induction/view.json index 990c512..9583530 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Induction/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Induction/view.json @@ -1,6 +1,8 @@ { "custom": {}, "params": { + "automatic": true, + "mirror": true, "tagProps": [ "System/MCM03/PDP3_PMM", "value", @@ -15,6 +17,14 @@ ] }, "propConfig": { + "params.automatic": { + "paramDirection": "input", + "persistent": true + }, + "params.mirror": { + "paramDirection": "input", + "persistent": true + }, "params.tagProps": { "paramDirection": "input", "persistent": true @@ -22,56 +32,205 @@ }, "props": { "defaultSize": { - "height": 199, - "width": 136 + "height": 96, + "width": 120 } }, "root": { "children": [ { "meta": { - "name": "FlexContainer" + "name": "Automatic" }, "position": { - "basis": "200px", + "basis": "300px", "grow": 1 }, "propConfig": { - "props.style.backgroundColor": { + "position.display": { "binding": { "config": { - "fallbackDelay": 2.5, - "mode": "indirect", - "references": { - "0": "{view.params.tagProps[0]}", - "fc": "{session.custom.fc}" - }, - "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/" + "path": "view.params.automatic" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "parent.custom.color" + }, + "type": "property" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" }, "transforms": [ { - "code": "\tif value is None:\n\t\treturn \u0027#000000\u0027\n\t\t\n\tactive_status \u003d \u0027default\u0027\n\t\n\tif value.get(\u0027Common_Error\u0027, False):\n\t\tactive_status \u003d \u0027common_error\u0027\n\telif value.get(\u0027In_Test_Mode\u0027, False):\n\t\tactive_status \u003d \u0027test_mode\u0027\n\telif value.get(\u0027Running\u0027, False):\n\t\tactive_status \u003d \u0027running\u0027\n\telif value.get(\u0027Starting\u0027, False) or value.get(\u0027Stopping\u0027, False):\n\t\tactive_status \u003d \u0027transitional\u0027\n\telif value.get(\u0027Energy_Saving\u0027, False):\n\t\tactive_status \u003d \u0027energy_saving\u0027\n\telif value.get(\u0027Stopped\u0027, False) or value.get(\u0027Disabled\u0027, False):\n\t\tactive_status \u003d \u0027inactive\u0027\n\telif value.get(\u0027Blocked\u0027, False):\n\t\tactive_status \u003d \u0027blocked\u0027\n\n\tcolor_map \u003d {\n\t\t\u0027common_error\u0027: \u0027#FF0000\u0027,\n\t\t\u0027test_mode\u0027: \u0027#964B00\u0027, \n\t\t\u0027running\u0027: \u0027#00FF00\u0027,\n\t\t\u0027transitional\u0027: \u0027#CCFFCC\u0027,\n\t\t\u0027energy_saving\u0027: \u0027#87CEFA\u0027,\n\t\t\u0027inactive\u0027: \u0027#D3D3D3\u0027,\n\t\t\u0027blocked\u0027: \u0027#d900d9\u0027,\n\t\t\u0027default\u0027: \u0027#000000\u0027\n\t}\n\t\n\treturn color_map.get(active_status, \u0027#000000\u0027)", - "type": "script" + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scaleX(-1)" + } + ], + "outputType": "scalar", + "type": "map" } ], - "type": "tag" + "type": "property" } } }, "props": { - "style": { - "borderStyle": "solid", - "borderWidth": 4 + "elements": [ + { + "id": "defs1", + "name": "defs1", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 17.53533,96.331254 102.31253,-61.2732 -7.5838,-8.34842 -12.0722,7.65383 -0.5613,-33.33235 -10.9193,-0.12405002 0.048,39.93743002 -87.17235,55.47731 z", + "fill": {}, + "id": "path3-2-3-0", + "name": "path3-2-3-0", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + } + ], + "id": "Layer 1", + "name": "Layer 1", + "type": "group" + }, + { + "id": "Layer 2", + "name": "Layer 2", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 120 96" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Semi_Automatic" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.automatic" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "parent.custom.color" + }, + "type": "property" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scaleX(-1)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } } }, - "type": "ia.container.flex" + "props": { + "elements": [ + { + "id": "defs1", + "name": "defs1", + "type": "defs" + }, + { + "elements": [ + { + "d": "M 48.018376,40.643518 1.0048462,10.251908 4.2029462,0.62076772 69.527176,40.622498 Z", + "fill": {}, + "id": "path3-2-2-0", + "name": "path3-2-2-0", + "stroke": { + "dasharray": "none", + "paint": "#000000", + "width": "1" + }, + "type": "path" + } + ], + "id": "Layer 1", + "name": "Layer 1", + "type": "group" + }, + { + "id": "Layer 2", + "name": "Layer 2", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 70 41" + }, + "type": "ia.shapes.svg" } ], "events": { "dom": { "onClick": { "config": { - "script": "\t\tsystem.perspective.openDock(\u0027Docked-East-IND\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-IND\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -81,6 +240,28 @@ "meta": { "name": "root" }, + "propConfig": { + "custom.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_PARENT_PROJECT]{0}" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027#000000\u0027\n\t\t\n\tactive_status \u003d \u0027default\u0027\n\t\n\tif value.get(\u0027Common_Error\u0027, False):\n\t\tactive_status \u003d \u0027common_error\u0027\n\telif value.get(\u0027In_Test_Mode\u0027, False):\n\t\tactive_status \u003d \u0027test_mode\u0027\n\telif value.get(\u0027Running\u0027, False):\n\t\tactive_status \u003d \u0027running\u0027\n\telif value.get(\u0027Starting\u0027, False) or value.get(\u0027Stopping\u0027, False):\n\t\tactive_status \u003d \u0027transitional\u0027\n\telif value.get(\u0027Energy_Saving\u0027, False):\n\t\tactive_status \u003d \u0027energy_saving\u0027\n\telif value.get(\u0027Stopped\u0027, False) or value.get(\u0027Disabled\u0027, False):\n\t\tactive_status \u003d \u0027inactive\u0027\n\telif value.get(\u0027Blocked\u0027, False):\n\t\tactive_status \u003d \u0027blocked\u0027\n\n\tcolor_map \u003d {\n\t\t\u0027common_error\u0027: \u0027#FF0000\u0027,\n\t\t\u0027test_mode\u0027: \u0027#964B00\u0027, \n\t\t\u0027running\u0027: \u0027#00FF00\u0027,\n\t\t\u0027transitional\u0027: \u0027#CCFFCC\u0027,\n\t\t\u0027energy_saving\u0027: \u0027#87CEFA\u0027,\n\t\t\u0027inactive\u0027: \u0027#D3D3D3\u0027,\n\t\t\u0027blocked\u0027: \u0027#d900d9\u0027,\n\t\t\u0027default\u0027: \u0027#000000\u0027\n\t}\n\t\n\treturn color_map.get(active_status, \u0027#000000\u0027)", + "type": "script" + } + ], + "type": "tag" + } + } + }, "props": { "direction": "column" },