From f802c5a863f8e14893d4fbb46981466522400ab3 Mon Sep 17 00:00:00 2001 From: "b.makharadze" <81828475+bmidf@users.noreply.github.com> Date: Tue, 10 Jun 2025 16:52:32 +0400 Subject: [PATCH 1/3] MTN6-253, MTN6-247 --- .../views/Simulations/Station_JR_PB/view.json | 4 +- .../Information-Docked-East-JR-PB/view.json | 341 +++++++----------- 2 files changed, 130 insertions(+), 215 deletions(-) diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Station_JR_PB/view.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Station_JR_PB/view.json index 3de538f..1475c4d 100644 --- a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Station_JR_PB/view.json +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Station_JR_PB/view.json @@ -36,7 +36,7 @@ "params": { "forceFaultStatus": null, "tagProps": [ - "/System/Buttons/UL1_3_JR_PB1", + "/System/Station/Buttons/UL1_3_JR_PB1", "value", "value", "value", @@ -66,7 +66,7 @@ "params": { "forceFaultStatus": null, "tagProps": [ - "/System/Buttons/UL1_3_JR_PB2", + "/System/Station/Buttons/UL1_3_JR_PB2", "value", "value", "value", diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB/view.json index 4cd1df5..65ac7a3 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB/view.json @@ -1,13 +1,21 @@ { "custom": { - "PLC_list": null, + "PLC_list": [ + "MCM01", + "MCM02", + "MCM03", + "MCM04", + "MCM05", + "MCM06", + "MCM07" + ], "running_state": -1, - "state": 5, + "state": 1, "views_data": [] }, "params": { "tagProps": [ - "UL1_3_JR_PB1/HMI", + "/System/Station/Buttons/UL1_3_JR_PB2", "value", "value", "value", @@ -64,7 +72,7 @@ "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, - "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST" + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE" }, "transforms": [ { @@ -75,25 +83,21 @@ "fallback": null, "inputType": "scalar", "mappings": [ - { - "input": 4, - "output": 1 - }, { "input": 3, - "output": 2 - }, - { - "input": 2, "output": 3 }, + { + "input": 2, + "output": 2 + }, { "input": 1, - "output": 4 + "output": 1 }, { "input": 0, - "output": 5 + "output": 0 } ], "outputType": "scalar", @@ -216,164 +220,6 @@ }, "type": "ia.container.flex" }, - { - "children": [ - { - "children": [ - { - "meta": { - "name": "Label" - }, - "position": { - "basis": "200px", - "grow": 1 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "path": "session.custom.command_auth.enabled" - }, - "type": "property" - } - }, - "props.text": { - "binding": { - "config": { - "expression": "\u0027Control Enabled Timeout: \\n\u0027 + ({session.custom.command_auth.timeout_sp} - {session.custom.command_auth.auth_timeout}) + \u0027 seconds\u0027" - }, - "type": "expr" - } - } - }, - "props": { - "style": { - "color": "#000000", - "fontFamily": "Arial", - "fontSize": 14, - "fontWeight": "bold", - "marginBottom": 5, - "marginLeft": 5, - "marginRight": 5, - "marginTop": 5, - "whiteSpace": "pre" - }, - "textStyle": { - "textAlign": "center" - } - }, - "type": "ia.display.label" - }, - { - "events": { - "component": { - "onActionPerformed": { - "config": { - "script": "\tif self.session.custom.command_auth.enabled:\n\t\t\tself.session.custom.command_auth.enabled \u003d False\n\telse:\n\t\t#self.session.custom.command_auth.enabled \u003d True\n\t\tsystem.perspective.openPopup(\u0027command-auth\u0027, \u0027PopUp-Views/Command-Authenticate\u0027, showCloseIcon \u003d False, draggable \u003d False, modal \u003d True, overlayDismiss \u003d True)" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "Button_0", - "tooltip": { - "enabled": true, - "location": "bottom", - "style": { - "whiteSpace": "pre" - } - } - }, - "position": { - "basis": "170px", - "shrink": 0 - }, - "propConfig": { - "meta.tooltip.text": { - "binding": { - "config": { - "expression": "//if({this.props.enabled}, \u0027Re-Authenticate to Enable Command Controls\u0027, \u0027Insufficient Privileges - User Role Required: \u0027 + {session.custom.fc} + \u0027-rme-all\u0027)\r\nif({session.custom.command_auth.enabled},\u0027Click to Disable Controls.\u0027, \u0027Re-Authenticate to Enable Command Controls \\nUser Role Required: \u0027 + {session.custom.fc} + \u0027-rme-all\u0027)" - }, - "type": "expr" - } - }, - "props.image.icon.path": { - "binding": { - "config": { - "expression": "if({session.custom.command_auth.enabled},\u0027material/lock_open\u0027,\u0027material/lock\u0027)" - }, - "type": "expr" - } - }, - "props.text": { - "binding": { - "config": { - "expression": "if({session.custom.command_auth.enabled},\u0027Disable Controls\u0027,\u0027Enable Controls\u0027)" - }, - "type": "expr" - } - } - }, - "props": { - "image": { - "icon": {} - }, - "primary": false, - "style": { - "marginBottom": 5, - "marginRight": 25, - "marginTop": 5 - } - }, - "type": "ia.input.button" - } - ], - "meta": { - "name": "FlexContainer" - }, - "position": { - "basis": "50px", - "grow": 1 - }, - "props": { - "justify": "center" - }, - "type": "ia.container.flex" - } - ], - "meta": { - "name": "FlexContainer_0" - }, - "position": { - "basis": "100px", - "shrink": 0 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "path": "view.params.tagProps[0]" - }, - "transforms": [ - { - "code": "\n\tplcList \u003d self.view.custom.PLC_list\n\n\tshowCommand \u003d False\n\n\tfor i in plcList:\n\t\tif value \u003d\u003d i:\n\t\t\tshowCommand \u003d True\n\n\treturn showCommand", - "type": "script" - } - ], - "type": "property" - } - } - }, - "props": { - "direction": "column", - "style": { - "classes": "Buttons/Clear-Background" - } - }, - "type": "ia.container.flex" - }, { "children": [ { @@ -385,7 +231,8 @@ "name": "Label" }, "position": { - "basis": "32px" + "basis": "32px", + "display": false }, "propConfig": { "position.display": { @@ -393,6 +240,7 @@ "config": { "expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)" }, + "enabled": false, "type": "expr" } } @@ -408,48 +256,64 @@ }, { "meta": { - "name": "AlarmTable" + "name": "AlarmStatusTable" }, "position": { - "basis": "733px", + "basis": "400px", "grow": 1 }, "propConfig": { - "position.display": { - "binding": { - "config": { - "expression": "if({this.props.params.length_of_table_data} \u003e 0, True, False)" - }, - "type": "expr" - } - }, - "props.params.tagProps[0]": { + "props.filters.active.text": { "binding": { "config": { "path": "view.params.tagProps[0]" }, + "transforms": [ + { + "code": "\treturn value[1:]", + "type": "script" + } + ], "type": "property" } } }, "props": { - "params": { - "alarm_states": [ - "Shelved", - "Active", - "Not Active" - ], - "length_of_table_data": 0, - "show_severity_column": true, - "show_state_column": true, - "table_type": "Docked-East", - "tagProps": [ - null - ] + "columns": { + "active": { + "displayPath": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } }, - "path": "Alarm-Views/AlarmTable" + "filters": { + "active": { + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "states": { + "clearUnacked": false + } + } + }, + "refreshRate": 500, + "toolbar": { + "enabled": false + } }, - "type": "ia.display.view" + "type": "ia.display.alarmstatustable" } ], "meta": { @@ -498,7 +362,7 @@ }, "transforms": [ { - "code": "\treturn value[:-4]", + "code": "\treturn value[24:]", "type": "script" } ], @@ -524,7 +388,8 @@ }, "props": { "style": { - "classes": "PopUp-Styles/InfoLabel" + "classes": "PopUp-Styles/InfoLabel", + "overflow": "hidden" } }, "type": "ia.container.flex" @@ -602,22 +467,27 @@ "fallbackDelay": 2.5, "mode": "indirect", "references": { - "0": "{view.params.tagProps[0]}" + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" }, - "tagPath": "[MTN6_SCADA_TAG_PROVIDER]{0}/JR_PB_LT" + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/Pressed" }, "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},0)", + "type": "expression" + }, { "fallback": "OFF", "inputType": "scalar", "mappings": [ - { - "input": true, - "output": "ON" - }, { "input": false, "output": "OFF" + }, + { + "input": true, + "output": "ON" } ], "outputType": "scalar", @@ -697,7 +567,10 @@ "tabIndex": 1 }, "props": { - "direction": "column" + "direction": "column", + "style": { + "margin-left": "" + } }, "type": "ia.container.flex" }, @@ -712,7 +585,7 @@ "component": { "onActionPerformed": { "config": { - "script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[MTN6_SCADA_TAG_PROVIDER]\"+tag_name+\"/Start_PB\"\n\tsystem.perspective.print(tag_path)\n\tsystem.tag.writeBlocking([tag_path],[True])\n\tsystem.perspective.print(tag_path)\n" + "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Maintenance/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])" }, "scope": "G", "type": "script" @@ -726,8 +599,24 @@ "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": { + "image": { + "icon": { + "path": "material/sync_problem" + } + }, "style": { + "backgroundColor": "#FE9240", "classes": "Background-Styles/Controller" }, "text": "RESET JAM" @@ -741,9 +630,20 @@ "position": { "basis": "35px" }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(isNull(tag(\"[\" + {session.custom.fc} + \"_SCADA_TAG_PROVIDER]\" + {view.params.tagProps[0]} + \"/Maintenance/Start_PB\")), False, True)" + }, + "type": "expr" + } + } + }, "props": { "style": { - "classes": "PopUp-Styles/InfoLabel" + "classes": "PopUp-Styles/InfoLabel", + "padding": "" } }, "type": "ia.container.flex" @@ -757,7 +657,14 @@ "grow": 1 }, "props": { - "direction": "column" + "direction": "column", + "style": { + "gap": 6, + "paddingBottom": 20, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 13 + } }, "type": "ia.container.flex" } @@ -769,7 +676,10 @@ "tabIndex": 2 }, "props": { - "direction": "column" + "direction": "column", + "style": { + "paddingTop": 1 + } }, "type": "ia.container.flex" } @@ -781,7 +691,6 @@ "grow": 1 }, "props": { - "currentTabIndex": 2, "menuType": "modern", "tabSize": { "width": 1000 @@ -820,6 +729,12 @@ "basis": "670px", "grow": 1 }, + "props": { + "style": { + "border-top": "1px solid white", + "gap": "" + } + }, "type": "ia.container.flex" } ], From 3597b34f0896e9535f523dd5d589e8b7a1259e63 Mon Sep 17 00:00:00 2001 From: "b.makharadze" <81828475+bmidf@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:11:38 +0400 Subject: [PATCH 2/3] Added Button tags --- tags/Simulation/Buttons.json | 106 ++++++++++++++++++ .../Main.json} | 0 2 files changed, 106 insertions(+) create mode 100644 tags/Simulation/Buttons.json rename tags/{Simulation_tags.json => Simulation/Main.json} (100%) diff --git a/tags/Simulation/Buttons.json b/tags/Simulation/Buttons.json new file mode 100644 index 0000000..93901bc --- /dev/null +++ b/tags/Simulation/Buttons.json @@ -0,0 +1,106 @@ +{ + "name": "Buttons", + "tagType": "Folder", + "tags": [ + { + "name": "UL1_3_JR_PB1", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Start_PB", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "name": "Stopped", + "tagType": "AtomicTag" + }, + { + "alarms": [ + { + "setpointA": 1.0, + "name": "Pressed" + } + ], + "tagGroup": "Alarm", + "name": "Pressed", + "tagType": "AtomicTag" + } + ] + } + ] + }, + { + "name": "UL1_3_JR_PB2", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "alarms": [ + { + "setpointA": 1.0, + "name": "Pressed" + } + ], + "tagGroup": "Alarm", + "name": "Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Stopped", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Start_PB", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "STATE", + "tagType": "AtomicTag" + } + ] + } + ] +} \ No newline at end of file diff --git a/tags/Simulation_tags.json b/tags/Simulation/Main.json similarity index 100% rename from tags/Simulation_tags.json rename to tags/Simulation/Main.json From 5a8e0b246693412e772d2507c2fcab6513013d29 Mon Sep 17 00:00:00 2001 From: "b.makharadze" <81828475+bmidf@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:26:08 +0400 Subject: [PATCH 3/3] Button tags fix --- tags/Simulation/Buttons.json | 598 +++++++++++++++++++++++++++++++---- 1 file changed, 532 insertions(+), 66 deletions(-) diff --git a/tags/Simulation/Buttons.json b/tags/Simulation/Buttons.json index 93901bc..c0f366f 100644 --- a/tags/Simulation/Buttons.json +++ b/tags/Simulation/Buttons.json @@ -1,103 +1,569 @@ { - "name": "Buttons", - "tagType": "Folder", + "name": "", + "tagType": "Provider", "tags": [ { - "name": "UL1_3_JR_PB1", - "typeId": "Station", - "tagType": "UdtInstance", + "name": "System", + "tagType": "Folder", "tags": [ { - "name": "STATE", + "valueSource": "memory", + "dataType": "String", + "name": "device_count", + "value": "{}", "tagType": "AtomicTag" }, { - "name": "Maintenance", + "valueSource": "memory", + "dataType": "String", + "name": "download", + "value": "", + "tagType": "AtomicTag" + }, + { + "name": "Station", "tagType": "Folder", "tags": [ { - "name": "Start_PB", - "tagType": "AtomicTag" + "name": "Buttons", + "tagType": "Folder", + "tags": [ + { + "name": "UL1_3_JR_PB1", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Start_PB", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "name": "Stopped", + "tagType": "AtomicTag" + }, + { + "alarms": [ + { + "setpointA": 1.0, + "name": "Pressed" + } + ], + "tagGroup": "Alarm", + "name": "Pressed", + "tagType": "AtomicTag" + } + ] + } + ] + }, + { + "name": "UL1_3_JR_PB2", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "alarms": [ + { + "setpointA": 1.0, + "name": "Pressed" + } + ], + "tagGroup": "Alarm", + "name": "Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Stopped", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Start_PB", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "STATE", + "tagType": "AtomicTag" + } + ] + } + ] }, { - "name": "Stop_PB", - "tagType": "AtomicTag" + "name": "EPC", + "tagType": "Folder", + "tags": [ + { + "name": "UL1_3_EPC2", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Stopped", + "tagType": "AtomicTag" + }, + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "name": "Pressed", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Start_PB", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB", + "tagType": "AtomicTag" + } + ] + } + ] + }, + { + "name": "UL1_3_EPC1", + "typeId": "Station", + "tagType": "UdtInstance", + "tags": [ + { + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "name": "Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Estopped", + "tagType": "AtomicTag" + }, + { + "name": "Stopped", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "name": "Stop_PB", + "tagType": "AtomicTag" + }, + { + "name": "Start_PB", + "tagType": "AtomicTag" + } + ] + } + ] + } + ] } ] }, { - "name": "Alarm", + "valueSource": "memory", + "dataType": "Boolean", + "name": "close_socket", + "value": true, + "tagType": "AtomicTag" + }, + { + "name": "Conveyor", "tagType": "Folder", "tags": [ { - "name": "Estopped", - "tagType": "AtomicTag" - }, - { - "name": "Stopped", - "tagType": "AtomicTag" - }, - { - "alarms": [ + "name": "UL1_3_VFD1", + "typeId": "TagProp", + "tagType": "UdtInstance", + "tags": [ { - "setpointA": 1.0, - "name": "Pressed" + "name": "ALARMST", + "tagType": "AtomicTag" + }, + { + "value": 3, + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "DCN", + "tagType": "AtomicTag" } - ], - "tagGroup": "Alarm", - "name": "Pressed", - "tagType": "AtomicTag" + ] + } + ] + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "IdToStatus", + "value": "{}", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "Boolean", + "name": "wbsckt_running", + "value": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "Boolean", + "name": "wbsckt_logging", + "value": false, + "tagGroup": "Default", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "thread_id", + "value": "5610", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "DateTime", + "name": "wbsckt_heartbeat_interval", + "value": 1749560917384, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "aws_data", + "value": "{}", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "wbsckt_messages_send", + "value": "{\"message_list\":[]}", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "Configuration", + "tagType": "Folder", + "tags": [ + { + "valueSource": "memory", + "dataType": "String", + "name": "BACKEND_EDGE_DEVICE", + "value": "quattro", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "PLC", + "value": "{ \"MCM07\": { \"Area\": \"Bypass\", \"SubArea\": \"\" }, \t\"MCM06\": { \"Area\": \"Non Con Sorters\", \"SubArea\": \"\" }, \t\"MCM05\": { \"Area\": \"North Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM04\": { \"Area\": \"South Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM03\": { \"Area\": \"Non Con Merge\", \"SubArea\": \"\" }, \t\"MCM02\": { \"Area\": \"Fluid Inbound Merges 5-7\", \"SubArea\": \"\" }, \t\"MCM01\": { \"Area\": \"Fluid Inbound Merges 1-4\", \"SubArea\": \"\" } }", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "aws", + "value": "{\"prefix\":\"na\",\"region\":\"us-east-1\"}", + "tagType": "AtomicTag" + }, + { + "valueSource": "reference", + "dataType": "String", + "sourceTagPath": "[System]Gateway/SystemName", + "name": "SystemName", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "SiteLatLng", + "value": "{\"lat\":40.19567891533845, \"lng\":-74.56542081870408}", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "FC", + "alarmEvalEnabled": false, + "value": "MTN6_SIMULATION", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "DetailedViews", + "value": "{ \"MCM07 Bypass\": [ \"MCM07\" ], \t\"MCM06 Non Con\": [ \"MCM06\" ],\t \t\"MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM05\" ],\t \t\"MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM04\" ], \t\"MCM03 Non Con\": [ \"MCM03\" ], \t\"MCM02 Fluid Inbound Merges 5-7\": [ \"MCM02\" ], \t\"MCM01 Fluid Inbound Merges 1-4\": [ \"MCM01\" ]}", + "tagType": "AtomicTag" + } + ] + }, + { + "name": "_types_", + "tagType": "Folder", + "tags": [ + { + "name": "TagProp", + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE" + }, + "valueSource": "opc", + "name": "STATE", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.ALARMST" + }, + "valueSource": "opc", + "name": "ALARMST", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.DISC" + }, + "valueSource": "opc", + "name": "DCN", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "name": "Station", + "tagType": "UdtType", + "tags": [ + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Start_PB" + }, + "valueSource": "opc", + "name": "Start_PB", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Stop_PB" + }, + "valueSource": "opc", + "name": "Stop_PB", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "name": "Alarm", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Stopped" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Stopped", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStopped" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Estopped", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE" + }, + "valueSource": "opc", + "name": "STATE", + "tagType": "AtomicTag", + "opcServer": "PLC" } ] } ] }, { - "name": "UL1_3_JR_PB2", - "typeId": "Station", - "tagType": "UdtInstance", + "name": "Latency", + "tagType": "Folder", "tags": [ { - "name": "Alarm", - "tagType": "Folder", - "tags": [ - { - "name": "Estopped", - "tagType": "AtomicTag" - }, - { - "alarms": [ - { - "setpointA": 1.0, - "name": "Pressed" - } - ], - "tagGroup": "Alarm", - "name": "Pressed", - "tagType": "AtomicTag" - }, - { - "name": "Stopped", - "tagType": "AtomicTag" - } - ] + "valueSource": "memory", + "dataType": "String", + "name": "avg_latency", + "value": "", + "tagType": "AtomicTag" }, { - "name": "Maintenance", - "tagType": "Folder", - "tags": [ - { - "name": "Start_PB", - "tagType": "AtomicTag" - }, - { - "name": "Stop_PB", - "tagType": "AtomicTag" - } - ] + "valueSource": "reference", + "dataType": "String", + "sourceTagPath": "[~]System/aws_data.value", + "name": "aws_data_copy", + "tagType": "AtomicTag" }, { - "name": "STATE", + "valueSource": "memory", + "dataType": "Boolean", + "name": "first_pass", + "value": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "DateTime", + "name": "last_alarm_change_ts", + "formatString": "yyyy-MM-dd h:mm:ss aa", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "prev_key", + "value": "", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "StringArray", + "name": "rolling_latency", + "alarmEvalEnabled": true, + "value": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], "tagType": "AtomicTag" } ]