Compare commits

...

15 Commits

Author SHA1 Message Date
Salijoghli
1438910882 fixed the status bug in history 2025-06-17 17:03:31 +04:00
d288346069 Merge pull request 'MTN6-244' (#124) from beka-branch into main
Reviewed-on: #124
2025-06-14 13:06:56 +00:00
4f06afd19c Merge pull request 'MTN6-18' (#125) from guga into main
Reviewed-on: #125
2025-06-14 13:06:40 +00:00
5a1f902978 Merge pull request 'MTN6-245' (#126) from VFD-Docked into main
Reviewed-on: #126
2025-06-14 13:06:27 +00:00
6ed69c4c95 MTN6-245 2025-06-14 17:05:02 +04:00
b.makharadze
eb2cc91911 Fix priorities 2025-06-13 15:42:03 +04:00
b.makharadze
f8d22160d6 Fix priorities 2025-06-13 15:13:21 +04:00
b.makharadze
fcab83262d Fix errors for info tab change enable button 2025-06-13 10:51:52 +04:00
b.makharadze
8b819f2da7 Removed light 2025-06-12 18:42:04 +04:00
b.makharadze
661be69981 Docked-East view for StatusNonPowered 2025-06-12 17:59:22 +04:00
3825881350 Merge pull request 'beka-branch' (#123) from beka-branch into main
Reviewed-on: #123
2025-06-12 12:08:12 +00:00
b.makharadze
77ca1115a0 Add proper filter for name to JR-PB docked east 2025-06-12 16:02:21 +04:00
b.makharadze
beb0195875 Add show buttons 2025-06-12 15:54:42 +04:00
4c23e73e54 Merge pull request 'Add Pallet Build Logic to MCM04, Change StatusNonPowered' (#122) from beka-branch into main
Reviewed-on: #122
2025-06-12 10:32:43 +00:00
b.makharadze
dc3304847f Add Pallet Build Logic to MCM04, Change StatusNonPowered 2025-06-12 14:12:37 +04:00
18 changed files with 4796 additions and 943 deletions

View File

@ -3,6 +3,7 @@
"alarm_filter": {
"magnificaiton": "x2",
"orderby": false,
"show_buttons": true,
"show_camera_jams": true,
"show_diagnostic": true,
"show_fio": true,

View File

@ -6,7 +6,6 @@ SELECT alltable.t_stamp,
alltable.ScanLabel,
alltable.ScanStatus,
alltable.Length,
alltable.Tray,
alltable.AssignmentScanHist,
alltable.DivertStatus,
alltable.DEST_REQ,

View File

@ -119,6 +119,20 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [

View File

@ -119,6 +119,20 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [

View File

@ -10,7 +10,7 @@
"MCM07"
],
"running_state": -1,
"state": 1,
"state": 0,
"views_data": []
},
"params": {
@ -155,12 +155,6 @@
"config": {
"expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}"
},
"transforms": [
{
"code": "\treturn value[:-4]",
"type": "script"
}
],
"type": "expr"
}
}
@ -362,7 +356,7 @@
},
"transforms": [
{
"code": "\treturn value[24:]",
"code": " return value.rsplit(\u0027/\u0027, 1)[-1]",
"type": "script"
}
],
@ -630,16 +624,6 @@
"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",

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-12T13:48:51Z"
},
"lastModificationSignature": "23c3f4cb026862ccb37102727dc2295231da49571d74535a75f068bdc3966348"
}
}

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-14T12:51:15Z"
},
"lastModificationSignature": "0055753ae9b96bcbe67bf2ce8b08be6b63ba7a68f78bd3af3c61203626a71d74"
}
}

View File

@ -1,14 +1,11 @@
{
"custom": {
"alarm_message": null,
"disconnected": false,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 5,
"status": 0,
"visible_status": false
"state": 0
},
"params": {
"forceFaultStatus": null,
@ -192,14 +189,6 @@
"width": 1
},
"propConfig": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "\u0027#585858\u0027"
},
"type": "expr"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
@ -301,7 +290,9 @@
"elements": [
{
"d": "M 0,0 H 20 V 20 H 0 Z",
"fill": {},
"fill": {
"paint": "#585858"
},
"name": "path",
"stroke": {
"paint": "#000000",
@ -335,13 +326,6 @@
"scope": "G",
"type": "script"
},
"onDoubleClick": {
"config": {
"script": "\ttagProps \u003d self.view.params.tagProps\n\tsystem.perspective.openPopup(\"StatusPopUP\", \"PopUp-Views/Controller-Equipment/Information\", params \u003d{\"tagProps\":tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\t\n\talarm \u003d []\n\tmessage \u003d None\n\t\n\tsleep(0.5)\n\t\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"

View File

@ -5,13 +5,14 @@
"display_icon": true,
"plc": "value",
"priority": 0,
"priority_string": "No Active Alarms",
"priority_string": "Medium",
"running": false,
"searchId": "PLC01",
"state": 0,
"state_string": "Off(Inactive)"
"state": 131,
"state_string": "Disconnected"
},
"params": {
"angle": 0,
"directionLeft": false,
"forceFaultStatus": null,
"forceRunningStatus": null,
@ -36,7 +37,7 @@
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, True,\r\n\t\t1, True,\r\n\t\t2, {session.custom.alarm_filter.show_running},\r\n\t\t3, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t4, True,\r\n\t\t5, True,\r\n\t\t6, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t7, True,\r\n\t\t8, True,\r\n\t\t9, True,\r\n\t\t13, True,\r\n\t\t14, True,\r\n\t\tFalse )",
"expression": "case(\t{value},\r\n\t\t0, True,\r\n\t\t1, True,\r\n\t\t2, {session.custom.alarm_filter.show_running},\r\n\t\t3, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t4, True,\r\n\t\t5, True,\r\n\t\t6, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t7, True,\r\n\t\t8, True,\r\n\t\t9, True,\r\n\t\t13, True,\r\n\t\t14, True,\r\n\t\t61, True,\r\n 131, True,\t\r\n\t\tFalse )",
"type": "expression"
}
],
@ -121,7 +122,7 @@
},
{
"input": 5,
"output": 1
"output": 3
},
{
"input": 6,
@ -146,6 +147,10 @@
{
"input": 14,
"output": 2
},
{
"input": 61,
"output": 4
}
],
"outputType": "scalar",
@ -188,7 +193,7 @@
},
{
"input": 5,
"output": "High"
"output": "Low"
},
{
"input": 6,
@ -213,6 +218,14 @@
{
"input": 14,
"output": "Medium"
},
{
"input": 61,
"output": "Diagnostic"
},
{
"input": 131,
"output": "Medium"
}
],
"outputType": "scalar",
@ -265,12 +278,16 @@
"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\",\r\n7, \"VFD Faulted\",\r\n8, \"Communication Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\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, \"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\")"
},
"type": "expr"
},
"persistent": true
},
"params.angle": {
"paramDirection": "input",
"persistent": true
},
"params.directionLeft": {
"paramDirection": "input",
"persistent": true
@ -312,27 +329,45 @@
"type": "expr"
}
},
"position.rotate.angle": {
"binding": {
"config": {
"path": "view.params.directionLeft"
},
"transforms": [
{
"expression": "if({value}, \u0027180deg\u0027, \u00270deg\u0027)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#00ffd0\", \"#ff8c00\",\r\n \"#0008ff\", \"#946446\", \"#ff0000\", \"#ff0000\", \"#ff0000\", \"#ff8c00\", \"#c2c2c2\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 61, 131,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#00ffd0\", \"#ff8c00\",\r\n \"#0008ff\", \"#946446\", \"#ff0000\", \"#ff0000\", \"#ff0000\", \"#ff8c00\", \"#c2c2c2\", \"#B45C5C\", \"#c2c2c2\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.style.transform": {
"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},\"\")",
"type": "expression"
},
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "scaleX(-1)"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
}
},
"props": {
@ -360,7 +395,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"

View File

@ -1,21 +1,13 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"disconnected": true,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"running": false,
"searchId": "value",
"show_error": false,
"show_running": true,
"state": 5,
"state_string": "Unknown",
"visible_status": false
"priority_string": "Medium",
"searchId": "PLC01",
"state": 0,
"state_string": "Disabled"
},
"params": {
"directionLeft": false,
@ -35,38 +27,20 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_running},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {session.custom.alarm_filter.show_running},\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t5, {session.custom.alarm_filter.show_running},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}",
"plc": "{view.custom.plc}"
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
},
"transforms": [
{
"expression": "if(isNull({value}), False, {value})",
"expression": "!isGood({value})",
"type": "expression"
}
],
@ -74,39 +48,6 @@
},
"persistent": true
},
"custom.display_icon": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode}||{this.custom.isMatch}\u003e0"
},
"type": "expr"
},
"persistent": true
},
"custom.error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "0 \u003c {value} \u0026\u0026 {value} \u003c 5",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.isMatch": {
"binding": {
"config": {
"expression": "if({view.params.tagProps[0]}\u003d\"value\",0,\nif({this.custom.searchId}\u003d{view.params.tagProps[0]},100,0))"
},
"type": "expr"
},
"persistent": true
},
"custom.plc": {
"binding": {
"config": {
@ -134,19 +75,23 @@
"mappings": [
{
"input": 1,
"output": 4
"output": 1
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 3,
"output": 3
},
{
"input": 4,
"output": 1
"output": 4
},
{
"input": 0,
"output": 0
}
],
"outputType": "scalar",
@ -160,40 +105,41 @@
"custom.priority_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"High\",\r\n2, \"Medium\",\r\n3, \"Low\",\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.running": {
"binding": {
"config": {
"expression": "{view.custom.running_status} \u003d 3"
},
"type": "expr"
},
"persistent": true
},
"custom.running_status": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"path": "view.custom.state"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceRunningStatus},0)",
"type": "expression"
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "Medium"
},
{
"input": 1,
"output": "No Active Alarms"
},
{
"input": 2,
"output": "High"
},
{
"input": 3,
"output": "High"
},
{
"input": 4,
"output": "High"
}
],
"type": "tag"
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"persistent": true
},
"custom.searchId": {
"binding": {
@ -204,36 +150,6 @@
},
"persistent": true
},
"custom.show_error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {view.custom.isMatch}\u003e0,\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {view.custom.isMatch}\u003e0,\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.show_running": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, False,\r\n\t\t2, False,\r\n\t\t{session.custom.alarm_filter.show_running}\r\n\t\t)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.state": {
"binding": {
"config": {
@ -243,40 +159,12 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
@ -286,16 +174,7 @@
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.running_status},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.visible_status": {
"binding": {
"config": {
"expression": "{view.custom.state} !\u003d 5"
"expression": "case({view.custom.state},\r\n0, \"Disabled\",\r\n1, \"Enabled\",\r\n2, \"Half Full\",\r\n3, \"Full\",\r\n4, \"Jammed\",\r\n\"Unknown\")"
},
"type": "expr"
},
@ -326,245 +205,6 @@
},
"root": {
"children": [
{
"meta": {
"name": "ErrorStatus",
"tooltip": {
"style": {
"fontSize": 16
}
}
},
"position": {
"grow": 1
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026! {view.params.directionLeft}"
},
"type": "expr"
}
},
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026! {view.params.directionLeft} \u0026\u0026 {view.custom.show_error}"
},
"type": "expr"
}
},
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours}[\"state\"+{value}] \u003d null, \r\n{session.custom.colours}[\"Fallback\"],\r\n{session.custom.colours}[\"state\"+{value}])",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"expression": "if({view.custom.show_running}, \"#FFFFFF\", \"#00000000\")"
},
"type": "expr"
}
},
"props.elements[1].stroke.width": {
"binding": {
"config": {
"expression": "if({session.custom.alarm_filter.show_running},2,0)"
},
"type": "expr"
}
},
"props.elements[2].fill": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired}, \r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#FFFFFF\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#000000\u0027,\r\n\t\t\t\u0027#000000\u0027),\r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#000000\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#FFFFFF\u0027,\r\n\t\t\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].text": {
"binding": {
"config": {
"path": "view.custom.priority"
},
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 32 2 L 62 32 L 32 62 L 2 32 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 2
},
"type": "path"
},
{
"d": "M 38 2 L 57.96 2 L 57.96 2 L 88 32 L 57.96 62 L 57.96 62 L 38 62 L 67.96 32 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000"
},
"type": "path"
},
{
"style": {
"classes": "",
"fontSize": 42,
"fontWeight": "bolder"
},
"type": "text",
"x": 20,
"y": 44.5
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "0.5 0.5 89 64"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "ErrorStatus_Left"
},
"position": {
"grow": 1
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026\u0026 {view.params.directionLeft}"
},
"type": "expr"
}
},
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026\u0026 {view.params.directionLeft} \u0026\u0026 {view.custom.show_error}"
},
"type": "expr"
}
},
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state0},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state2},\r\n3,{session.custom.colours.state3},\r\n4,{session.custom.colours.state4},\r\n5,{session.custom.colours.state5},\r\n6,{session.custom.colours.state6},\r\n{session.custom.colours.fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"expression": "if({view.custom.show_running}, \"#FFFFFF\", \"#00000000\")"
},
"type": "expr"
}
},
"props.elements[1].stroke.width": {
"binding": {
"config": {
"expression": "if({session.custom.alarm_filter.show_running},2,0)"
},
"type": "expr"
}
},
"props.elements[2].fill": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired}, \r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#FFFFFF\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#000000\u0027,\r\n\t\t\t\u0027#000000\u0027),\r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#000000\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#FFFFFF\u0027,\r\n\t\t\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].text": {
"binding": {
"config": {
"path": "view.custom.priority"
},
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 56,2 C 66,12 76,22 86,32 76,42 66,52 56,62 46,52 36,42 26,32 36,22 46,12 56,2 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 2
},
"type": "path"
},
{
"d": "M 50,2 C 43.346667,2 36.693333,2 30.04,2 20.026667,12 10.013333,22 0,32 10.013333,42 20.026667,52 30.04,62 36.693333,62 43.346667,62 50,62 40.013333,52 30.026667,42 20.04,32 30.026667,22 40.013333,12 50,2 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000"
},
"type": "path"
},
{
"style": {
"classes": "",
"fontSize": 42,
"fontWeight": "bolder",
"textOrientation": "upright",
"writingMode": "horizontal-tb"
},
"type": "text",
"x": 44.5,
"y": 44.5
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "0.5 0.5 89 64"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "RunningStatus"
@ -573,14 +213,6 @@
"grow": 1
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if((({view.custom.display_icon} \u0026\u0026 !{view.custom.error}) || ({view.custom.show_running} \u0026! {view.custom.show_error})) \u0026! {view.params.directionLeft},True, False)"
},
"type": "expr"
}
},
"position.rotate.angle": {
"binding": {
"config": {
@ -594,15 +226,51 @@
],
"type": "property"
}
},
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "#FFFFFF",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#FFFFFF"
},
{
"input": 1,
"output": "#C9FCC0"
},
{
"input": 2,
"output": "#7F83FF"
},
{
"input": 3,
"output": "#0008FF"
},
{
"input": 4,
"output": "#FF8C00"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 0 0 L 40 0 L 40 0 L 70 30 L 40 60 L 40 60 L 0 60 L 30 30 Z",
"fill": {
"paint": "#FFFFFF"
},
"d": "M 0 0 L 40 0 L 40 0 L 70 30 L 40 60 L 40 60 L 0 60 L 0 0 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
@ -617,66 +285,13 @@
"viewBox": "-1.5 -1.5 73 63"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "RunningStatus_Left"
},
"position": {
"grow": 1
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if((({view.custom.display_icon} \u0026\u0026 !{view.custom.error}) || ({view.custom.show_running} \u0026! {view.custom.show_error})) \u0026\u0026 {view.params.directionLeft},True, False)"
},
"type": "expr"
}
},
"position.rotate.angle": {
"binding": {
"config": {
"path": "view.params.directionLeft"
},
"transforms": [
{
"expression": "if({value}, \u0027180deg\u0027, \u00270deg\u0027)",
"type": "expression"
}
],
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 70,60 C 56.666667,60 43.333333,60 30,60 20,50 10,40 0,30 10,20 20,10 30,0 43.333333,0 56.666667,0 70,0 60,10 50,20 40,30 50,40 60,50 70,60 Z",
"fill": {
"paint": "#FFFFFF"
},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": 3
},
"type": "path"
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "-0.5 -0.5 71 61"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-SNP\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -707,20 +322,6 @@
}
},
"propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state0},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state2},\r\n3,{session.custom.colours.state3},\r\n4,{session.custom.colours.state4},\r\n5,{session.custom.colours.state5},\r\n6,{session.custom.colours.state6},\r\n{session.custom.colours.Fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": {
"binding": {
"config": {
@ -733,19 +334,23 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
"output": "Alarms-Styles/NoAlarm"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
"output": "Alarms-Styles/High"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
"output": "Alarms-Styles/High"
},
{
"input": 4,
"output": "Alarms-Styles/High"
},
{
"input": 0,
"output": "Alarms-Styles/Medium"
}
],
"outputType": "style-list",
@ -755,129 +360,20 @@
"type": "expr"
}
},
"meta.tooltip.style.color": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired},\r\n\t\u0027#000000\u0027,\r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#000000\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#FFFFFF\u0027,\r\n\t\t\t5,\u0027#FFFFFF\u0027,\r\n\t\t\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")"
"expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
},
"meta.visible": {
"binding": {
"config": {
"path": "view.custom.display_icon"
},
"type": "property"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "solid"
},
{
"input": false,
"output": "none"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True \u0026\u0026 {view.custom.isMatch} \u003e 0,\r\n{view.custom.state} + 100 + {view.custom.isMatch},\r\n{view.custom.state} + {view.custom.isMatch})"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": 101,
"output": "State-Styles/State101"
},
{
"input": 102,
"output": "State-Styles/State102"
},
{
"input": 103,
"output": "State-Styles/State103"
},
{
"input": 104,
"output": "State-Styles/State104"
},
{
"input": 105,
"output": "State-Styles/State105"
},
{
"input": 106,
"output": "State-Styles/State106"
},
{
"input": 201,
"output": "State-Styles/State201"
},
{
"input": 202,
"output": "State-Styles/State202"
},
{
"input": 203,
"output": "State-Styles/State203"
},
{
"input": 204,
"output": "State-Styles/State204"
},
{
"input": 205,
"output": "State-Styles/State205"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
}
},
"props": {
"justify": "center",
"style": {
"borderColor": "#FF0000",
"borderStyle": "none",
"borderWidth": "2px",
"cursor": "pointer"
}

490
tags/Simulation/Chutes.json Normal file
View File

@ -0,0 +1,490 @@
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "Station Chute",
"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"
}
]
},
{
"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.STATE"
},
"valueSource": "opc",
"name": "STATE",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"name": "Chute",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE"
},
"valueSource": "opc",
"name": "STATE",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarms.Disabled"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"notes": "Conveyor is Disabled",
"name": "Disabled",
"priority": "Medium"
}
],
"name": "Disabled",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarms.PKGREL_PB_Pressed"
},
"valueSource": "opc",
"name": "PKGREL_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarms.Full"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"notes": "Conveyor is Full",
"name": "Full",
"priority": "High"
}
],
"name": "Full",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarms.Half_Full"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"notes": "Conveyor is Half Full",
"name": "Half Full",
"priority": "High"
}
],
"name": "Half_Full",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarms.Jam"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"notes": "Conveyor is Jammed",
"name": "Jammed",
"label": "",
"displayPath": "",
"priority": "High"
}
],
"name": "Jam",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Enable_Chute_Pressed"
},
"valueSource": "opc",
"name": "Enable_Chute_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"name": "TagProp",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "{InstanceName}.Disconnected"
},
"valueSource": "opc",
"name": "Disconnected",
"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.STATE"
},
"valueSource": "opc",
"name": "STATE",
"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": "PE",
"tagType": "UdtType",
"tags": [
{
"valueSource": "memory",
"name": "TimeOut",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Full"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Full",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Jammed",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "Conveyor",
"tagType": "UdtType",
"tags": [
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Maintenance_Mode",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Direction",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Direction_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Stop_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Jog_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Stop_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Start_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Run_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Speed_FPM",
"tagType": "AtomicTag"
}
]
},
{
"name": "Alarms",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Disconnected",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "VFD_Fault",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Communication_Fault",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "VFD_Reset_Required",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Communication_Fault_Reset_Required",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Safe_Off_Fault",
"tagType": "AtomicTag"
}
]
},
{
"valueSource": "memory",
"name": "FPM",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Last_VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "STATE",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Voltage",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Amperage",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Communication_Fault_Code",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Frequenncy",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Power_Save_Time",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Speed_At_60Hz",
"tagType": "AtomicTag"
}
]
},
{
"name": "Station",
"tagType": "UdtType",
"tags": [
{
"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": "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"
}
]
}
]
}
]
}

View File

@ -0,0 +1,650 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "Latency",
"tagType": "Folder",
"tags": [
{
"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"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "first_pass",
"value": true,
"tagType": "AtomicTag"
},
{
"valueSource": "reference",
"dataType": "String",
"sourceTagPath": "[~]System/aws_data.value",
"name": "aws_data_copy",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "prev_key",
"value": "",
"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": "avg_latency",
"value": "",
"tagType": "AtomicTag"
}
]
},
{
"name": "Configuration",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "SiteLatLng",
"value": "{\"lat\":40.19567891533845, \"lng\":-74.56542081870408}",
"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": "reference",
"dataType": "String",
"sourceTagPath": "[System]Gateway/SystemName",
"name": "SystemName",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws",
"value": "{\"prefix\":\"na\",\"region\":\"us-east-1\"}",
"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"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "BACKEND_EDGE_DEVICE",
"value": "quattro",
"tagType": "AtomicTag"
}
]
},
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "Conveyor",
"tagType": "UdtType",
"tags": [
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"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.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",
"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.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.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.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": "System",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "download",
"value": "",
"tagType": "AtomicTag"
},
{
"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}}]}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "device_count",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "IdToStatus",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_logging",
"value": false,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "thread_id",
"value": "2162",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws_data",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "close_socket",
"value": true,
"tagType": "AtomicTag"
},
{
"name": "Conveyor",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_VFD1",
"typeId": "Conveyor",
"tagType": "UdtInstance",
"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",
"tags": [
{
"name": "Maintenance_Mode",
"tagType": "AtomicTag"
},
{
"name": "Speed_FPM",
"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": [
{
"setpointA": 1.0,
"name": "Communication Fault",
"priority": "High",
"displayPath": ""
}
],
"name": "Communication_Fault",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "Safe Off Fault",
"priority": "High"
}
],
"name": "Safe_Off_Fault",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "VFD Fault",
"priority": "High"
}
],
"name": "VFD_Fault",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "Communication Fault Reset Required",
"priority": "Diagnostic"
}
],
"name": "Communication_Fault_Reset_Required",
"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",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "Disconnected",
"priority": "Medium"
}
],
"name": "Disconnected",
"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"
}
]
}
]
},
{
"valueSource": "memory",
"dataType": "DateTime",
"name": "wbsckt_heartbeat_interval",
"value": 1749905376025,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_running",
"value": true,
"tagType": "AtomicTag"
}
]
}
]
}