diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..39dfbfe6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.resources/ +**/resource.json +**/thumbnail.png +com.inductiveautomation.perspective/session-props/props.json +conversion-report.txt +CNO8_SCADA/ +MTN6_SCADA/ +SAT9_SCADA/ +SCADA_PERSPECTIVE_PARENT_PROJECT/ \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/resource.json index ebe79385..6aa43ca5 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-10-29T12:52:01Z" + "timestamp": "2025-10-31T09:00:41Z" }, - "lastModificationSignature": "346500a013e1d3336cf368bce7fd2e3d732232dd89562b3427bace56d2b03787" + "lastModificationSignature": "4d8d1098165a0e5f2e7b985a85bf11724638717bd91fdcfdf220c4660d06a3b5" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/thumbnail.png index cf13fed8..38912981 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/view.json index 953da4f3..ff5e47e6 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Detailed_Views/MCM-Views/MCM01/view.json @@ -36,7 +36,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL15_2", + "System/MCM01/VFD/UL15_2_VFD1", "value", "value", "value", @@ -69,7 +69,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL14_4", + "System/MCM01/VFD/UL14_4_VFD1", "value", "value", "value", @@ -108,7 +108,7 @@ }, "params": { "tagProps": [ - "System/MCM01/Conveyor/UL15_5", + "System/MCM01/VFD/UL15_5_VFD1", "value", "value", "value", @@ -143,9 +143,8 @@ }, "props": { "params": { - "key": "value", "tagProps": [ - "System/MCM01/Conveyor/UL14_5", + "System/MCM01/VFD/UL14_5_VFD1", "value", "value", "value", @@ -212,7 +211,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_1", + "System/MCM01/VFD/PS3_1_VFD1", "value", "value", "value", @@ -246,7 +245,7 @@ "params": { "key": "value", "tagProps": [ - "System/MCM01/Conveyor/PS3_3", + "System/MCM01/VFD/PS3_3_VFD1", "value", "value", "value", @@ -282,7 +281,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_5", + "System/MCM01/VFD/PS3_5_VFD1", "value", "value", "value", @@ -315,7 +314,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_2", + "System/MCM01/VFD/PS3_2_VFD1", "value", "value", "value", @@ -351,7 +350,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_6", + "System/MCM01/VFD/PS3_6_VFD1", "value", "value", "value", @@ -384,7 +383,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_8", + "System/MCM01/VFD/PS3_8_VFD1", "value", "value", "value", @@ -450,7 +449,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_10", + "System/MCM01/VFD/PS3_10_VFD1", "value", "value", "value", @@ -483,7 +482,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL14_1", + "System/MCM01/VFD/UL14_1_VFD1", "value", "value", "value", @@ -516,7 +515,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_11", + "System/MCM01/VFD/PS3_11_VFD1", "value", "value", "value", @@ -552,7 +551,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL15_1", + "System/MCM01/VFD/UL15_1_VFD1", "value", "value", "value", @@ -588,7 +587,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL14_2", + "System/MCM01/VFD/UL14_2_VFD1", "value", "value", "value", @@ -624,7 +623,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL14_3", + "System/MCM01/VFD/UL14_3_VFD1", "value", "value", "value", @@ -660,7 +659,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL15_4", + "System/MCM01/VFD/UL15_4_VFD1", "value", "value", "value", @@ -693,7 +692,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_7", + "System/MCM01/VFD/PS3_7_VFD1", "value", "value", "value", @@ -729,7 +728,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/UL15_3", + "System/MCM01/VFD/UL15_3_VFD1", "value", "value", "value", @@ -762,7 +761,7 @@ "props": { "params": { "tagProps": [ - "System/MCM01/Conveyor/PS3_4", + "System/MCM01/VFD/PS3_4_VFD1", "value", "value", "value", @@ -929,8 +928,8 @@ "position": { "height": 0.0185, "width": 0.0182, - "x": 0.0203, - "y": 0.5361 + "x": 0.0026, + "y": 0.486 }, "props": { "params": { @@ -962,8 +961,8 @@ "position": { "height": 0.0185, "width": 0.0182, - "x": 0.1406, - "y": 0.6366 + "x": 0.122, + "y": 0.5733 }, "props": { "params": { @@ -2626,40 +2625,6 @@ }, "type": "ia.display.view" }, - { - "meta": { - "name": "UL14_1_ENSH1" - }, - "position": { - "height": 0.0231, - "width": 0.013, - "x": 0.1441, - "y": 0.4658 - }, - "props": { - "params": { - "tagProps": [ - "System/MCM01/ENCODER/ENSH/UL14_1_ENSH1", - "value", - "value", - "value", - "value", - "value", - "value", - "value", - "value", - "value" - ] - }, - "path": "autStand/Equipment/Encoder", - "style": { - "borderRadius": "50%", - "classes": "hover", - "overflow": "visible" - } - }, - "type": "ia.display.view" - }, { "meta": { "name": "UL14_2_ENSH1" @@ -2728,40 +2693,6 @@ }, "type": "ia.display.view" }, - { - "meta": { - "name": "UL15_1_ENSH1" - }, - "position": { - "height": 0.0231, - "width": 0.013, - "x": 0.0236, - "y": 0.4185 - }, - "props": { - "params": { - "tagProps": [ - "System/MCM01/ENCODER/ENSH/UL15_1_ENSH1", - "value", - "value", - "value", - "value", - "value", - "value", - "value", - "value", - "value" - ] - }, - "path": "autStand/Equipment/Encoder", - "style": { - "borderRadius": "50%", - "classes": "hover", - "overflow": "visible" - } - }, - "type": "ia.display.view" - }, { "meta": { "name": "UL15_3_ENSH1" @@ -4995,6 +4926,72 @@ } }, "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_SS2" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.0394, + "y": 0.4851 + }, + "props": { + "params": { + "tagProps": [ + "System/MCM01/STATION/SS/UL15_1_SS2", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/SS_Button", + "style": { + "classes": "hover", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_SS2" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.1598, + "y": 0.5733 + }, + "props": { + "params": { + "tagProps": [ + "System/MCM01/STATION/SS/UL14_1_SS2", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/SS_Button", + "style": { + "classes": "hover", + "overflow": "visible" + } + }, + "type": "ia.display.view" } ], "meta": { diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/resource.json index 4adcd447..5cfc1808 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/resource.json @@ -9,9 +9,9 @@ ], "attributes": { "lastModification": { - "actor": "external", - "timestamp": "2025-10-20T13:55:55Z" + "actor": "admin", + "timestamp": "2025-10-30T16:09:47Z" }, - "lastModificationSignature": "1887ea868e724cdaa16959b34960cf20826aef7c150b7af0a612cc6a4177b728" + "lastModificationSignature": "a9f66b1a940d40daf9eec81947ef2f48e56a8f8af0581a4421787abc68918419" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/thumbnail.png index 4315aad0..e501a45d 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/view.json index 44d14b4b..d72939fa 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv/view.json @@ -8,7 +8,7 @@ "params": { "devices": [], "tagProps": [ - "System/MCM01/Conveyor/UL15_1", + "System/MCM01/VFD/PS3_1_VFD1", "value", "value", "value", @@ -682,7 +682,7 @@ }, "transforms": [ { - "code": " return value.rsplit(\u0027/\u0027, 1)[-1]", + "code": "\n\t# Extract the last part after the final \"/\"\n\tname \u003d value.rsplit(\"/\", 1)[-1] if value else \"\"\n\n\t# --- Remove trailing \"_VFD#\" if present (e.g. \"_VFD1\", \"_VFD2\", etc.) ---\n\tif \"_VFD\" in name:\n\t\tidx \u003d name.find(\"_VFD\")\n\t\tif idx !\u003d -1:\n\t\t\tname \u003d name[:idx]\n\n\treturn name", "type": "script" } ], @@ -1461,6 +1461,7 @@ "grow": 1 }, "props": { + "currentTabIndex": 1, "menuType": "modern", "tabSize": { "width": 1000 diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json index 3f31581c..d5462f15 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-10-29T16:30:38Z" + "timestamp": "2025-10-30T09:00:53Z" }, - "lastModificationSignature": "4dc9ebeb5abc14df220189031d7408332d6791c7f356fa6d09d50d191f5e2958" + "lastModificationSignature": "77a0b345006519d69a3c77b61af8120f8fd9687e954c4c8f551945ec83c6cf71" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png index ca954041..cd5ef46c 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png differ diff --git a/BNA8/ignition/script-python/autStand/devices/code.py b/BNA8/ignition/script-python/autStand/devices/code.py index 6f9ca554..34ba0012 100644 --- a/BNA8/ignition/script-python/autStand/devices/code.py +++ b/BNA8/ignition/script-python/autStand/devices/code.py @@ -10,12 +10,18 @@ def build_device_mapping(full_tag_path): """ global global_device_mapping global_device_mapping.clear() + + try: # Parse PLC and clicked device path_parts = full_tag_path.split("/") plc_name = path_parts[1] if len(path_parts) > 1 else path_parts[0] - clicked_name = path_parts[-1] if len(path_parts) > 0 else "" + clicked_name = path_parts[-1] if len(path_parts) > 0 else "" + if "_VFD" in clicked_name: + idx = clicked_name.find("_VFD") + if idx != -1: + clicked_name = clicked_name[:idx] project_name = system.util.getProjectName() base_path = ( diff --git a/BNA8/ignition/script-python/autStand/devices/resource.json b/BNA8/ignition/script-python/autStand/devices/resource.json index c4849850..0c274b89 100644 --- a/BNA8/ignition/script-python/autStand/devices/resource.json +++ b/BNA8/ignition/script-python/autStand/devices/resource.json @@ -9,9 +9,9 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-10-29T13:45:12Z" + "timestamp": "2025-10-30T16:06:11Z" }, "hintScope": 2, - "lastModificationSignature": "7011c1874f8f6105b0a3f3b3ca469c3592a64f6a86bef427d4564890e28b0189" + "lastModificationSignature": "aecdec4f63a5f5b35d06db5b4112a3186a87d7776b734bc223311f9b9c38a6b6" } } \ No newline at end of file