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" } ], diff --git a/tags/Simulation/Buttons.json b/tags/Simulation/Buttons.json new file mode 100644 index 0000000..c0f366f --- /dev/null +++ b/tags/Simulation/Buttons.json @@ -0,0 +1,572 @@ +{ + "name": "", + "tagType": "Provider", + "tags": [ + { + "name": "System", + "tagType": "Folder", + "tags": [ + { + "valueSource": "memory", + "dataType": "String", + "name": "device_count", + "value": "{}", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "download", + "value": "", + "tagType": "AtomicTag" + }, + { + "name": "Station", + "tagType": "Folder", + "tags": [ + { + "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": "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" + } + ] + } + ] + } + ] + } + ] + }, + { + "valueSource": "memory", + "dataType": "Boolean", + "name": "close_socket", + "value": true, + "tagType": "AtomicTag" + }, + { + "name": "Conveyor", + "tagType": "Folder", + "tags": [ + { + "name": "UL1_3_VFD1", + "typeId": "TagProp", + "tagType": "UdtInstance", + "tags": [ + { + "name": "ALARMST", + "tagType": "AtomicTag" + }, + { + "value": 3, + "name": "STATE", + "tagType": "AtomicTag" + }, + { + "name": "DCN", + "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": "Latency", + "tagType": "Folder", + "tags": [ + { + "valueSource": "memory", + "dataType": "String", + "name": "avg_latency", + "value": "", + "tagType": "AtomicTag" + }, + { + "valueSource": "reference", + "dataType": "String", + "sourceTagPath": "[~]System/aws_data.value", + "name": "aws_data_copy", + "tagType": "AtomicTag" + }, + { + "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" + } + ] + } + ] +} \ 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