From cf8c302e03c4f4aff3a12cb8b37d4991390a9d72 Mon Sep 17 00:00:00 2001 From: "gigi.mamaladze" Date: Wed, 18 Jun 2025 16:23:14 +0400 Subject: [PATCH] MTN6-261 --- .../page-config/config.json | 14 +- .../views/Simulations/Nav/resource.json | 17 + .../views/Simulations/Nav/thumbnail.png | Bin 0 -> 8619 bytes .../views/Simulations/Nav/view.json | 100 ++ .../views/Simulations/VFD_APF/resource.json | 17 + .../views/Simulations/VFD_APF/thumbnail.png | Bin 0 -> 12498 bytes .../views/Simulations/VFD_APF/view.json | 107 ++ .../Information-Docked-East-VFD/view.json | 156 ++- .../Equipment-Views/Status/view.json | 8 +- tags/Simulation/Conveyor.json | 966 +++++++++++------- 10 files changed, 1017 insertions(+), 368 deletions(-) create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/resource.json create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/thumbnail.png create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/resource.json create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/thumbnail.png create mode 100644 MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/view.json diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json b/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json index a042c38..44c75e0 100644 --- a/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json +++ b/MTN6_Simulation/com.inductiveautomation.perspective/page-config/config.json @@ -2,7 +2,11 @@ "pages": { "/": { "title": "", - "viewPath": "Simulations/Station_JR_PB" + "viewPath": "Simulations/Nav" + }, + "/APF_VFD": { + "title": "", + "viewPath": "Simulations/VFD_APF" }, "/Command": { "title": "", @@ -36,6 +40,14 @@ "/Real-Time": { "viewPath": "Alarm-Views/RealTime" }, + "/Station_EPC": { + "title": "", + "viewPath": "Simulations/Station_EPC" + }, + "/Station_JR": { + "title": "", + "viewPath": "Simulations/Station_JR_PB" + }, "/Temperature": { "title": "", "viewPath": "Main-Views/TempMonitoring" diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/resource.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/resource.json new file mode 100644 index 0000000..7794b67 --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/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-15T15:33:58Z" + }, + "lastModificationSignature": "9616454f3323bca3b71b52e2d029c87565a7a0e9ca637cf4c980403399f177ce" + } +} \ No newline at end of file diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/thumbnail.png b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..327719de124abf36decbcdeb07c626de5e2f70f8 GIT binary patch literal 8619 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 EKc4B5p#T5? literal 0 HcmV?d00001 diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json new file mode 100644 index 0000000..c5c11cc --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/Nav/view.json @@ -0,0 +1,100 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/APF_VFD" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 101, + "rotate": { + "anchor": "100% 129%" + }, + "width": 169, + "x": 65, + "y": 149 + }, + "props": { + "text": "APF/VFD" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/Station_JR" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "height": 104, + "rotate": { + "anchor": "75% 25%" + }, + "width": 188, + "x": 264, + "y": 146 + }, + "props": { + "text": "Station_JR" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/Station_EPC" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "height": 105, + "rotate": { + "anchor": "100% -106%" + }, + "width": 184, + "x": 483, + "y": 145 + }, + "props": { + "text": "Station_EPC" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/resource.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/resource.json new file mode 100644 index 0000000..ad0409a --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/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-15T17:54:34Z" + }, + "lastModificationSignature": "d42d4bb2237b811ac7af2d0388892855cc023ec4f868670e318db6872d3db22e" + } +} \ No newline at end of file diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/thumbnail.png b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..9ebc43cfaa3b9f8b5cac1dfe96bc0bc9fc1768f4 GIT binary patch literal 12498 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 K%~Ew}#Qy-aauv@2 literal 0 HcmV?d00001 diff --git a/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/view.json b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/view.json new file mode 100644 index 0000000..de2bade --- /dev/null +++ b/MTN6_Simulation/com.inductiveautomation.perspective/views/Simulations/VFD_APF/view.json @@ -0,0 +1,107 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "UL1_3_VFD1" + }, + "position": { + "height": 186.64, + "width": 97.92, + "x": 460.6, + "y": 287.6 + }, + "props": { + "params": { + "directionLeft": false, + "forceFaultStatus": null, + "forceRunningStatus": null, + "tagProps": [ + "/System/Conveyor/UL1_3_VFD1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Status" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL1_3_VFD2" + }, + "position": { + "height": 186.64, + "width": 97.92, + "x": 260.6, + "y": 294.6 + }, + "props": { + "params": { + "directionLeft": false, + "forceFaultStatus": null, + "forceRunningStatus": null, + "tagProps": [ + "System/Conveyor/APF/FL1038_2_VFD1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "Symbol-Views/Equipment-Views/Status" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 50, + "x": 459.5555610656738, + "y": 262.59722900390625 + }, + "props": { + "text": "VFD" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 50, + "x": 267, + "y": 260 + }, + "props": { + "text": "APF" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD/view.json index d6c892d..8ae2d7f 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD/view.json @@ -7,7 +7,7 @@ }, "params": { "tagProps": [ - "/System/Conveyor/UL1_11_VFD1", + "System/Conveyor/APF/UL1_3", "value", "value", "value", @@ -125,7 +125,7 @@ }, "props": { "defaultSize": { - "width": 400 + "width": 403 } }, "root": { @@ -167,7 +167,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.closeDock(\u0027Docked-East-JR\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" + "script": "\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" }, "scope": "G", "type": "script" @@ -414,7 +414,7 @@ "props.text": { "binding": { "config": { - "expression": "case({..../State.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"VFD Faulted\",\r\n8, \"Communication Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running in Maintenance Mode\",\r\n\"Unknown\")" + "expression": "case({..../State.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"Communication Fault\",\r\n8, \"VFD Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running in Maintenance Mode\",\r\n\"Unknown\")" }, "type": "expr" } @@ -584,17 +584,54 @@ "basis": "50%", "grow": 1 }, + "propConfig": { + "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}/VFD_Type" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (Freq/Velocity\u0027)", + "type": "expression" + }, + { + "fallback": "Unknown (Freq/Velocity", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Velocity" + }, + { + "input": 0, + "output": "Frequency" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, "props": { "style": { "paddingLeft": 100 - }, - "text": "Frequency" + } }, "type": "ia.display.label" }, { "meta": { - "name": "Frequency" + "name": "Frequency_Velocity" }, "position": { "basis": "50%", @@ -610,12 +647,12 @@ "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, - "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Frequenncy" + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/VFD_Type" }, "transforms": [ { - "expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027) \u003d \u0027Unknown\u0027, \u0027Unknown\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" Hz\")", - "type": "expression" + "code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n unit \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Velocity\"\n unit \u003d \" Rev/s\"\n else:\n child \u003d \"Frequency\"\n unit \u003d \" Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n if result is None or str(result) \u003d\u003d \"None\":\n return \"Unknown\"\n else:\n return str(result) + unit", + "type": "script" } ], "type": "tag" @@ -648,7 +685,7 @@ } ], "meta": { - "name": "Frequency" + "name": "Frequency_Velocity" }, "position": { "basis": "35px" @@ -1128,17 +1165,54 @@ "children": [ { "meta": { - "name": "Speed_At_60Hz" + "name": "Speed_At_60Hz_30rev" }, "position": { "basis": "50px", "grow": 1 }, + "propConfig": { + "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}/VFD_Type" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (60hz/30rev\u0027)", + "type": "expression" + }, + { + "fallback": "Unknown (60hz/30rev", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Speed At 30 rev/s" + }, + { + "input": 0, + "output": "Speed At 60Hz" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, "props": { "style": { "padding": 20 }, - "text": "Speed At 60Hz", "textStyle": { "color": "#7D7D7D" } @@ -1150,7 +1224,7 @@ "component": { "onActionPerformed": { "config": { - "script": "\tpropMaintMode \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Maintenance/Speed_At_60Hz\"\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propMaintMode], [value])" + "script": "\n\tvfdType \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\" + self.view.params.tagProps[0] + \"/VFD_Type\"\n\tprop \u003d \"\"\n\t\n\tvfdTypeVal \u003d system.tag.readBlocking([vfdType])[0].value\n\t\n\tif vfdTypeVal \u003d\u003d 1:\n\t\tprop \u003d \"Speed_At_30rev\"\n\telse:\n\t\tprop \u003d \"Speed_At_60Hz\"\n\t\t\n\tpropHzRev \u003d \"[\" + self.session.custom.fc + \"_SCADA_TAG_PROVIDER]\" + self.view.params.tagProps[0] + \"/\" + prop\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propHzRev], [value])\n\t\t\n\t" }, "scope": "G", "type": "script" @@ -1175,15 +1249,20 @@ "props.value": { "binding": { "config": { - "bidirectional": true, "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, - "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Speed_At_60Hz" + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/VFD_Type" }, + "transforms": [ + { + "code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Speed_At_30rev\"\n else:\n child \u003d \"Speed_At_60Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n \n return result", + "type": "script" + } + ], "type": "tag" } } @@ -1207,7 +1286,7 @@ } ], "meta": { - "name": "Speed_At_60Hz" + "name": "Speed_At_60Hz_30rev" }, "position": { "basis": "46px" @@ -1245,7 +1324,7 @@ "component": { "onActionPerformed": { "config": { - "script": "\tpropMaintMode \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Maintenance/Cycle_Time_Factor\"\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propMaintMode], [value])" + "script": "\tpropMaintMode \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+ self.view.params.tagProps[0] + \"/Cycle_Time_Factor\"\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propMaintMode], [value])" }, "scope": "G", "type": "script" @@ -1715,14 +1794,49 @@ ], "type": "tag" } + }, + "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}/Maintenance/Direction" + }, + "transforms": [ + { + "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Direction\u0027)", + "type": "expression" + }, + { + "fallback": "Direction", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Direction Backward" + }, + { + "input": true, + "output": "Direction Forward" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } } }, "props": { "style": { "backgroundColor": "#0068F7", "marginBottom": 10 - }, - "text": "Direction" + } }, "type": "ia.input.button" } @@ -1784,7 +1898,7 @@ "grow": 1 }, "props": { - "currentTabIndex": 2, + "currentTabIndex": 1, "menuType": "modern", "tabSize": { "width": 1000 diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Status/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Status/view.json index 85d3106..aad4fcb 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Status/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Symbol-Views/Equipment-Views/Status/view.json @@ -5,11 +5,11 @@ "display_icon": true, "plc": "value", "priority": 0, - "priority_string": "Medium", + "priority_string": "No Active Alarms", "running": false, "searchId": "PLC01", - "state": 131, - "state_string": "Disconnected" + "state": 0, + "state_string": "Off(Inactive)" }, "params": { "angle": 0, @@ -278,7 +278,7 @@ "custom.state_string": { "binding": { "config": { - "expression": "case({view.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"VFD Faulted\",\r\n8, \"Communication Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running In Maintenance Mode\",\r\n131, \"Disconnected\",\r\n\"Unknown\")" + "expression": "case({view.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"Communication Fault\",\r\n8, \"VFD Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running In Maintenance Mode\",\r\n131, \"Disconnected\",\r\n\"Unknown\")" }, "type": "expr" }, diff --git a/tags/Simulation/Conveyor.json b/tags/Simulation/Conveyor.json index c101d5b..8cc66e3 100644 --- a/tags/Simulation/Conveyor.json +++ b/tags/Simulation/Conveyor.json @@ -144,125 +144,19 @@ "tags": [ { "name": "Conveyor", - "tagType": "UdtType", + "tagType": "Folder", "tags": [ { - "name": "Maintenance", - "tagType": "Folder", + "name": "VFD", + "tagType": "UdtType", "tags": [ { "opcItemPath": { "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Maintenance_Mode" + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Voltage" }, "valueSource": "opc", - "dataType": "Boolean", - "name": "Maintenance_Mode", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Direction", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction_PB_Pressed" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Direction_PB_Pressed", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Jog_PB_Pressed" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Jog_PB_Pressed", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Stop_PB_Pressed" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Stop_PB_Pressed", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Start_PB_Pressed" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Start_PB_Pressed", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Speed_FPM" - }, - "valueSource": "opc", - "dataType": "Int4", - "name": "Speed_FPM", - "tagType": "AtomicTag", - "opcServer": "PLC" - } - ] - }, - { - "name": "Alarms", - "tagType": "Folder", - "tags": [ - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Disconnected" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Disconnected", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.VFD_Fault" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "VFD_Fault", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault" - }, - "valueSource": "opc", - "dataType": "Boolean", - "name": "Communication_Fault", + "name": "Voltage", "tagType": "AtomicTag", "opcServer": "PLC" }, @@ -272,134 +166,560 @@ "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.VFD_Fault_Code" }, "valueSource": "opc", - "dataType": "Boolean", - "name": "VFD_Reset_Required", + "name": "VFD_Fault_Code", "tagType": "AtomicTag", "opcServer": "PLC" }, { "opcItemPath": { "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault_Reset_Required" + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.VFD_Type" }, "valueSource": "opc", - "dataType": "Boolean", - "name": "Communication_Fault_Reset_Required", + "dataType": "Int4", + "name": "VFD_Type", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "name": "Alarms", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Communication_Fault", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Disconnected" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Disconnected", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.VFD_Fault" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "VFD_Fault", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault_Reset_Required" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Communication_Fault_Reset_Required", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.VFD_Fault_Code" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "VFD_Reset_Required", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Safe_Off_Fault" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Safe_Off_Fault", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Speed_At_60Hz" + }, + "valueSource": "opc", + "name": "Speed_At_60Hz", "tagType": "AtomicTag", "opcServer": "PLC" }, { "opcItemPath": { "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Safe_Off_Fault" + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Amperage" }, "valueSource": "opc", - "dataType": "Boolean", - "name": "Safe_Off_Fault", + "name": "Amperage", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "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.Communication_Fault_Code" + }, + "valueSource": "opc", + "name": "Communication_Fault_Code", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Frequency" + }, + "valueSource": "opc", + "name": "Frequenncy", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.FPM" + }, + "valueSource": "opc", + "name": "FPM", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Last_VFD_Fault_Code" + }, + "valueSource": "opc", + "name": "Last_VFD_Fault_Code", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Start_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Start_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Maintenance_Mode" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Maintenance_Mode", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Speed_FPM" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Speed_FPM", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Stop_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Stop_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Direction_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Jog_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Jog_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Direction", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Cycle_Time_Factor" + }, + "valueSource": "opc", + "name": "Cycle_Time_Factor", "tagType": "AtomicTag", "opcServer": "PLC" } ] }, { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.FPM" - }, - "valueSource": "opc", - "name": "FPM", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Last_VFD_Fault_Code" - }, - "valueSource": "opc", - "name": "Last_VFD_Fault_Code", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "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.Voltage" - }, - "valueSource": "opc", - "name": "Voltage", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Amperage" - }, - "valueSource": "opc", - "name": "Amperage", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Communication_Fault_Code" - }, - "valueSource": "opc", - "name": "Communication_Fault_Code", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.VFD_Fault_Code" - }, - "valueSource": "opc", - "name": "VFD_Fault_Code", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Frequency" - }, - "valueSource": "opc", - "name": "Frequenncy", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Cycle_Time_Factor" - }, - "valueSource": "opc", - "name": "Cycle_Time_Factor", - "tagType": "AtomicTag", - "opcServer": "PLC" - }, - { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Speed_At_60Hz" - }, - "valueSource": "opc", - "name": "Speed_At_60Hz", - "tagType": "AtomicTag", - "opcServer": "PLC" + "name": "APF", + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Speed_At_30rev" + }, + "valueSource": "opc", + "name": "Speed_At_30rev", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Voltage" + }, + "valueSource": "opc", + "name": "Voltage", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Communication_Fault_Code" + }, + "valueSource": "opc", + "name": "Communication_Fault_Code", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.FPM" + }, + "valueSource": "opc", + "name": "FPM", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Cycle_Time_Factor" + }, + "valueSource": "opc", + "name": "Cycle_Time_Factor", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "name": "Alarms", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Disconnected" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "Disconnected", + "priority": "Medium" + } + ], + "name": "Disconnected", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault_Reset_Required" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "Communication Fault Reset Required", + "priority": "Diagnostic" + } + ], + "name": "Communication_Fault_Reset_Required", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.VFD_Fault" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "VFD Fault", + "priority": "High" + } + ], + "name": "VFD_Fault", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "Communication Fault", + "priority": "High" + } + ], + "name": "Communication_Fault", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.VFD_Reset_Required" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "VFD Reset Required", + "priority": "Diagnostic" + } + ], + "name": "VFD_Reset_Required", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "name": "Maintenance", + "tagType": "Folder", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Direction_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Maintenance_Mode" + }, + "valueSource": "opc", + "dataType": "Boolean", + "alarms": [ + { + "setpointA": 1.0, + "name": "Maintenance Mode", + "priority": "Diagnostic" + } + ], + "name": "Maintenance_Mode", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Stop_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Stop_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Start_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Start_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Direction" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Direction", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Jog_PB_Pressed" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Jog_PB_Pressed", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Speed_FPM" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Speed_FPM", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Amperage" + }, + "valueSource": "opc", + "name": "Amperage", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Velocity" + }, + "valueSource": "opc", + "name": "Velocity", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.VFD_Fault_Code" + }, + "valueSource": "opc", + "name": "VFD_Fault_Code", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Last_VFD_Fault_Code" + }, + "valueSource": "opc", + "name": "Last_VFD_Fault_Code", + "tagType": "AtomicTag", + "opcServer": "PLC" + }, + { + "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.VFD_Type" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "VFD_Type", + "tagType": "AtomicTag", + "opcServer": "PLC" + } + ] } ] } @@ -420,7 +740,7 @@ "valueSource": "memory", "dataType": "String", "name": "wbsckt_messages_send", - "value": "{\"message_list\":[{\"action\":\"pageview\",\"parameters\":{\"siteId\":\"MTN6_SIMULATION\",\"sessionId\":\"bd3d002d-ce53-4953-a26d-14c9290a8d90\",\"pageId\":\"Home\",\"timestamp\":1749137391093}}]}", + "value": "{\"message_list\":[{\"action\":\"pageview\",\"parameters\":{\"siteId\":\"MTN6_SIMULATION\",\"sessionId\":\"eea47f13-4bab-4370-be87-3ec749f7ce51\",\"pageId\":\"Command and Control\",\"timestamp\":1750093738406}}]}", "tagType": "AtomicTag" }, { @@ -448,7 +768,7 @@ "valueSource": "memory", "dataType": "String", "name": "thread_id", - "value": "2162", + "value": "9136", "tagType": "AtomicTag" }, { @@ -470,163 +790,125 @@ "tagType": "Folder", "tags": [ { - "name": "UL1_3_VFD1", - "typeId": "Conveyor", - "tagType": "UdtInstance", + "name": "APF", + "tagType": "Folder", "tags": [ { - "name": "Voltage", - "tagType": "AtomicTag" - }, - { - "name": "Speed_At_60Hz", - "tagType": "AtomicTag" - }, - { - "value": 14, - "name": "STATE", - "tagType": "AtomicTag" - }, - { - "name": "Last_VFD_Fault_Code", - "tagType": "AtomicTag" - }, - { - "name": "Maintenance", - "tagType": "Folder", + "name": "FL1038_2_VFD1", + "typeId": "Conveyor/APF", + "tagType": "UdtInstance", "tags": [ { - "name": "Maintenance_Mode", + "name": "Amperage", "tagType": "AtomicTag" }, { - "name": "Speed_FPM", + "name": "VFD_Type", "tagType": "AtomicTag" }, { - "name": "Direction_PB_Pressed", - "tagType": "AtomicTag" - }, - { - "name": "Start_PB_Pressed", - "tagType": "AtomicTag" - }, - { - "name": "Stop_PB_Pressed", - "tagType": "AtomicTag" - }, - { - "name": "Jog_PB_Pressed", - "tagType": "AtomicTag" - }, - { - "name": "Direction", - "tagType": "AtomicTag" - } - ] - }, - { - "name": "Alarms", - "tagType": "Folder", - "tags": [ - { - "alarms": [ + "name": "Maintenance", + "tagType": "Folder", + "tags": [ { - "setpointA": 1.0, - "name": "Communication Fault", - "priority": "High", - "displayPath": "" + "name": "Jog_PB_Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Speed_FPM", + "tagType": "AtomicTag" + }, + { + "name": "Direction_PB_Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Direction", + "tagType": "AtomicTag" + }, + { + "name": "Start_PB_Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Stop_PB_Pressed", + "tagType": "AtomicTag" + }, + { + "name": "Maintenance_Mode", + "tagType": "AtomicTag" } - ], - "name": "Communication_Fault", + ] + }, + { + "name": "STATE", "tagType": "AtomicTag" }, { - "alarms": [ - { - "setpointA": 1.0, - "name": "Safe Off Fault", - "priority": "High" - } - ], - "name": "Safe_Off_Fault", + "name": "Speed_At_30rev", "tagType": "AtomicTag" }, { - "alarms": [ - { - "setpointA": 1.0, - "name": "VFD Fault", - "priority": "High" - } - ], - "name": "VFD_Fault", + "name": "Velocity", "tagType": "AtomicTag" }, { - "alarms": [ - { - "setpointA": 1.0, - "name": "Communication Fault Reset Required", - "priority": "Diagnostic" - } - ], - "name": "Communication_Fault_Reset_Required", + "name": "Communication_Fault_Code", "tagType": "AtomicTag" }, { - "opcItemPath": { - "bindType": "parameter", - "binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.VFD_Reset_Required" - }, - "alarms": [ - { - "setpointA": 1.0, - "name": "VFD Reset Required", - "priority": "Diagnostic" - } - ], - "name": "VFD_Reset_Required", + "name": "Last_VFD_Fault_Code", "tagType": "AtomicTag" }, { - "alarms": [ + "name": "Voltage", + "tagType": "AtomicTag" + }, + { + "name": "Alarms", + "tagType": "Folder", + "tags": [ + { + "name": "Communication_Fault_Reset_Required", + "tagType": "AtomicTag" + }, + { + "name": "VFD_Reset_Required", + "tagType": "AtomicTag" + }, + { + "name": "Communication_Fault", + "tagType": "AtomicTag" + }, + { + "name": "VFD_Fault", + "tagType": "AtomicTag" + }, { - "setpointA": 1.0, "name": "Disconnected", - "priority": "Medium" + "tagType": "AtomicTag" } - ], - "name": "Disconnected", + ] + }, + { + "name": "Cycle_Time_Factor", + "tagType": "AtomicTag" + }, + { + "name": "FPM", + "tagType": "AtomicTag" + }, + { + "name": "VFD_Fault_Code", "tagType": "AtomicTag" } ] - }, - { - "name": "Amperage", - "tagType": "AtomicTag" - }, - { - "name": "Frequenncy", - "tagType": "AtomicTag" - }, - { - "name": "VFD_Fault_Code", - "tagType": "AtomicTag" - }, - { - "name": "FPM", - "tagType": "AtomicTag" - }, - { - "name": "Communication_Fault_Code", - "tagType": "AtomicTag" - }, - { - "name": "Cycle_Time_Factor", - "tagType": "AtomicTag" } ] + }, + { + "name": "VFD", + "tagType": "Folder" } ] }, @@ -634,7 +916,7 @@ "valueSource": "memory", "dataType": "DateTime", "name": "wbsckt_heartbeat_interval", - "value": 1749905376025, + "value": 1750247976280, "tagType": "AtomicTag" }, {