Update MCM04 and MCM05 and symbol library

This commit is contained in:
b.makharadze 2025-09-21 14:56:16 +04:00
parent 9808dc49a3
commit 1e65bdd97f
34 changed files with 5271 additions and 1645 deletions

View File

@ -263,6 +263,34 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-SS-Button"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-CH",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-CHPB",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Chute-EN"
}
],
"top": [

View File

@ -6,9 +6,9 @@
"$": [
"ts",
192,
1718194270770
1758446563578
],
"$ts": 1718194270770
"$ts": 1758446563517
}
}
},
@ -701,7 +701,7 @@
{
"config": {
"params": {},
"view": "Symbol-Views/Symbol-Library-Views/SymbolLibraryMain"
"view": "Symbol-Views/Symbol-Library-Views/Symbol-Icons-View"
},
"scope": "C",
"type": "nav"

View File

@ -95,24 +95,16 @@
],
"FilteredViews": [
{
"Name": "ARSAW",
"Path": "Symbol-Views/Equipment-Views/ARSAW",
"Name": "DeviceStatus",
"Path": "Symbol-Views/Equipment-Views/DeviceStatus",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "AUS",
"Path": "Symbol-Views/Equipment-Views/AUS",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Camera",
"Path": "Symbol-Views/Equipment-Views/Camera",
"Name": "Button",
"Path": "Symbol-Views/Equipment-Views/Button",
"instancePosition": {},
"instanceStyle": {
"classes": ""
@ -127,64 +119,24 @@
}
},
{
"Name": "Estop",
"Path": "Symbol-Views/Equipment-Views/Estop",
"Name": "Extendo",
"Path": "Symbol-Views/Equipment-Views/Extendo",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "GoodsLift",
"Path": "Symbol-Views/Equipment-Views/GoodsLift",
"Name": "MCM",
"Path": "Symbol-Views/Equipment-Views/MCM",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "JAM",
"Path": "Symbol-Views/Equipment-Views/JAM",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Light_Curtain",
"Path": "Symbol-Views/Equipment-Views/Light_Curtain",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Main_Panel",
"Path": "Symbol-Views/Equipment-Views/Main_Panel",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Network",
"Path": "Symbol-Views/Equipment-Views/Network",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Pointer",
"Path": "Symbol-Views/Equipment-Views/Pointer",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "PressureSwitch",
"Path": "Symbol-Views/Equipment-Views/PressureSwitch",
"Name": "SS_Button",
"Path": "Symbol-Views/Equipment-Views/SS_Button",
"instancePosition": {},
"instanceStyle": {
"classes": ""
@ -214,54 +166,6 @@
"classes": ""
}
},
{
"Name": "PullChord_Line_Vertical",
"Path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "RFID",
"Path": "Symbol-Views/Equipment-Views/RFID",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Robot",
"Path": "Symbol-Views/Equipment-Views/Robot",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "SLAMs",
"Path": "Symbol-Views/Equipment-Views/SLAMs",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "SafetyGate",
"Path": "Symbol-Views/Equipment-Views/SafetyGate",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Stacker_Destacker",
"Path": "Symbol-Views/Equipment-Views/Stacker_Destacker",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Status",
"Path": "Symbol-Views/Equipment-Views/Status",
@ -271,32 +175,24 @@
}
},
{
"Name": "StatusNonPowered",
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered",
"Name": "Chute",
"Path": "Symbol-Views/Equipment-Views/Chute",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "StatusNonPowered_NS",
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS",
"Name": "Carrier",
"Path": "Symbol-Views/Equipment-Views/Carrier",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Status_NS",
"Path": "Symbol-Views/Equipment-Views/Status_NS",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "THEA",
"Path": "Symbol-Views/Equipment-Views/THEA",
"Name": "Tipper",
"Path": "Symbol-Views/Equipment-Views/Tipper",
"instancePosition": {},
"instanceStyle": {
"classes": ""

View File

@ -58,7 +58,7 @@
"SelectedDescription": "",
"SelectedInfo": "",
"SelectedPath": "",
"SelectedRow": "ALL",
"SelectedRow": "Device Status",
"SymbolDetails": {
"ARSAW": {
"category": "",

View File

@ -206,6 +206,34 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-SS-Button"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "push",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-CH",
"modal": false,
"resizable": false,
"show": "visible",
"size": 150,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-CHPB",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Chute-EN"
}
],
"top": [

View File

@ -6,9 +6,9 @@
"$": [
"ts",
192,
1718194270770
1758444113793
],
"$ts": 1718194270770
"$ts": 1758444113793
}
}
},
@ -701,7 +701,7 @@
{
"config": {
"params": {},
"view": "Symbol-Views/Symbol-Library-Views/SymbolLibraryMain"
"view": "Symbol-Views/Symbol-Library-Views/Symbol-Icons-View"
},
"scope": "C",
"type": "nav"

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-09-21T10:51:26Z"
},
"lastModificationSignature": "e173e832f0016397a86075008bb1b1e7582f7fe06e3b51f05dad3ca3a1ddc3ef"
}
}

View File

@ -0,0 +1,659 @@
{
"custom": {
"PLC_list": [
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05"
],
"button_type": "UNKNOWN",
"type": 1
},
"params": {
"forceFaultStatus": null,
"tagProps": [
"System/MCM06/Chute/NC/S02_203CH",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.PLC_list": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC"
},
"transforms": [
{
"code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.button_type": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Button_Type"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "UNKNOWN",
"inputType": "scalar",
"mappings": [
{
"input": 5,
"output": "Chute_JR"
},
{
"input": 4,
"output": "GS"
},
{
"input": 3,
"output": "PR"
},
{
"input": 2,
"output": "Start"
},
{
"input": 1,
"output": "JR"
},
{
"input": 6,
"output": "Enable"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.type": {
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"width": 400
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}"
},
"type": "expr"
}
}
},
"props": {
"style": {
"color": "#FFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-CHPB\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon",
"tooltip": {
"enabled": true,
"style": {
"cursor": "pointer"
},
"text": "Close faceplate"
}
},
"props": {
"path": "material/close",
"style": {
"cursor": "pointer",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.display.icon"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "30px",
"shrink": 0
},
"props": {
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px",
"display": false
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)"
},
"enabled": false,
"type": "expr"
}
}
},
"props": {
"style": {
"classes": "Labels/Label_1",
"marginTop": 20
},
"text": "No Active Alarms"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "AlarmStatusTable"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.filters.active.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": "\treturn value[1:]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"columns": {
"active": {
"displayPath": {
"enabled": false
},
"priority": {
"enabled": false
},
"source": {
"enabled": false
},
"state": {
"enabled": false
}
}
},
"filters": {
"active": {
"priorities": {
"critical": false,
"high": false,
"low": false,
"medium": false
},
"states": {
"clearUnacked": false
}
}
},
"refreshRate": 500,
"toolbar": {
"enabled": false
}
},
"type": "ia.display.alarmstatustable"
}
],
"meta": {
"name": "Active_tab"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Name"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "NAME"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "DeviceName"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": " return value.rsplit(\u0027/\u0027, 1)[-1]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"overflow": "hidden"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Name"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Info_tab"
},
"position": {
"tabIndex": 1
},
"props": {
"direction": "column",
"style": {
"margin-left": ""
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Commands/bBlockHost1\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Button"
},
"position": {
"basis": "80px",
"grow": 1
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
},
"type": "expr"
}
}
},
"props": {
"image": {
"icon": {
"color": "#0B0B0B"
}
},
"style": {
"backgroundColor": "#00FF00",
"classes": "Background-Styles/Controller"
},
"text": "ENABLE",
"textStyle": {
"color": "#FFFFFF"
}
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Enable"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"padding": ""
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Commands/bUnblockHost1\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Button"
},
"position": {
"basis": "80px",
"grow": 1
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
},
"type": "expr"
}
}
},
"props": {
"image": {
"icon": {
"color": "#0B0B0B"
}
},
"style": {
"backgroundColor": "#FF0000",
"classes": "Background-Styles/Controller"
},
"text": "DISABLE",
"textStyle": {
"color": "#FFFFFF"
}
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Disable"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"padding": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "100px",
"grow": 1
},
"props": {
"direction": "column",
"style": {
"gap": 6,
"paddingBottom": 20,
"paddingLeft": 10,
"paddingRight": 10,
"paddingTop": 13
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Commands_tab"
},
"position": {
"tabIndex": 2
},
"props": {
"direction": "column",
"style": {
"paddingTop": 1
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "tabs"
},
"position": {
"grow": 1
},
"propConfig": {
"props.tabs": {
"binding": {
"config": {
"path": "view.custom.type"
},
"transforms": [
{
"code": "\t# This script runs whenever view.custom.type changes\n\tif value \u003d\u003d 0 or value \u003d\u003d 3:\n\t\treturn [\"Alarms\", \"Info\"]\n\telse:\n\t\treturn [\"Alarms\", \"Info\", \"Commands\"]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"currentTabIndex": 2,
"menuType": "modern",
"tabSize": {
"width": 1000
},
"tabStyle": {
"active": {
"classes": "",
"color": "#FFFFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
},
"inactive": {
"classes": "",
"color": "#B8B8B8",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
}
},
"type": "ia.container.tab"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "670px",
"grow": 1
},
"props": {
"style": {
"border-top": "1px solid white",
"gap": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "800px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "Buttons/Button-Menu"
}
},
"type": "ia.container.flex"
}
}

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-09-21T10:51:29Z"
},
"lastModificationSignature": "53f06e8100ae717d81028ae9dfce65833fff8342e0a9659f82069898b55e53e4"
}
}

View File

@ -16,10 +16,7 @@
"params": {
"Dataset": [
{
"path": "Symbol-Views/Equipment-Views/ARSAW"
},
{
"path": "Symbol-Views/Equipment-Views/AUS"
"path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
},
{
"path": "Symbol-Views/Equipment-Views/Button"
@ -28,55 +25,37 @@
"path": "Symbol-Views/Equipment-Views/Camera"
},
{
"path": "Symbol-Views/Equipment-Views/CognexCamera"
"path": "Symbol-Views/Equipment-Views/Carrier"
},
{
"path": "Symbol-Views/Equipment-Views/CarrierHorizontal"
},
{
"path": "Symbol-Views/Equipment-Views/Chute"
},
{
"path": "Symbol-Views/Equipment-Views/Chute_JR_PB"
},
{
"path": "Symbol-Views/Equipment-Views/Chute_PB"
},
{
"path": "Symbol-Views/Equipment-Views/ControlCabinet"
},
{
"path": "Symbol-Views/Equipment-Views/DeviceStatus"
},
{
"path": "Symbol-Views/Equipment-Views/Divert_Arm"
},
{
"path": "Symbol-Views/Equipment-Views/Estop"
},
{
"path": "Symbol-Views/Equipment-Views/GoodsLift"
"path": "Symbol-Views/Equipment-Views/Extendo"
},
{
"path": "Symbol-Views/Equipment-Views/JAM"
},
{
"path": "Symbol-Views/Equipment-Views/JR_Button"
},
{
"path": "Symbol-Views/Equipment-Views/Kobukuro"
},
{
"path": "Symbol-Views/Equipment-Views/Lift"
},
{
"path": "Symbol-Views/Equipment-Views/Light_Curtain"
},
{
"path": "Symbol-Views/Equipment-Views/Main_Panel"
},
{
"path": "Symbol-Views/Equipment-Views/Network"
},
{
"path": "Symbol-Views/Equipment-Views/PPI"
},
{
"path": "Symbol-Views/Equipment-Views/Photocell2_Lift"
},
{
"path": "Symbol-Views/Equipment-Views/Photocell_Lift"
},
{
"path": "Symbol-Views/Equipment-Views/PinDetection"
},
{
"path": "Symbol-Views/Equipment-Views/Pointer"
"path": "Symbol-Views/Equipment-Views/MCM"
},
{
"path": "Symbol-Views/Equipment-Views/PressureSwitch"
@ -93,62 +72,28 @@
{
"path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical"
},
{
"path": "Symbol-Views/Equipment-Views/RFID"
},
{
"path": "Symbol-Views/Equipment-Views/Robot"
},
{
"path": "Symbol-Views/Equipment-Views/SLAMs"
},
{
"path": "Symbol-Views/Equipment-Views/SS_Button"
},
{
"path": "Symbol-Views/Equipment-Views/SafetyGate"
},
{
"path": "Symbol-Views/Equipment-Views/SmartPac"
},
{
"path": "Symbol-Views/Equipment-Views/Spiral"
},
{
"path": "Symbol-Views/Equipment-Views/Stacker_Destacker"
},
{
"path": "Symbol-Views/Equipment-Views/Status"
},
{
"path": "Symbol-Views/Equipment-Views/StatusNonPowered"
},
{
"path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS"
},
{
"path": "Symbol-Views/Equipment-Views/Status_NS"
},
{
"path": "Symbol-Views/Equipment-Views/THEA"
},
{
"path": "Symbol-Views/Equipment-Views/Test"
},
{
"path": "Symbol-Views/Equipment-Views/Tipper"
}
],
"FilteredViews": [
{
"Path": "Symbol-Views/Equipment-Views/ARSAW",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/AUS",
"Path": "Symbol-Views/Equipment-Views/Area_Nav_Button",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
@ -178,7 +123,47 @@
}
},
{
"Path": "Symbol-Views/Equipment-Views/CognexCamera",
"Path": "Symbol-Views/Equipment-Views/Carrier",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/CarrierHorizontal",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Chute",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Chute_JR_PB",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Chute_PB",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
@ -197,6 +182,16 @@
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/DeviceStatus",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Divert_Arm",
"forceFault": null,
@ -208,17 +203,7 @@
}
},
{
"Path": "Symbol-Views/Equipment-Views/Estop",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/GoodsLift",
"Path": "Symbol-Views/Equipment-Views/Extendo",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
@ -238,107 +223,7 @@
}
},
{
"Path": "Symbol-Views/Equipment-Views/JR_Button",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Kobukuro",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Lift",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Light_Curtain",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Main_Panel",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Network",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PPI",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Photocell2_Lift",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Photocell_Lift",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PinDetection",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Pointer",
"Path": "Symbol-Views/Equipment-Views/MCM",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
@ -397,36 +282,6 @@
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/RFID",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Robot",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SLAMs",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SS_Button",
"forceFault": null,
@ -437,46 +292,6 @@
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SafetyGate",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SmartPac",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Spiral",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Stacker_Destacker",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Status",
"forceFault": null,
@ -497,26 +312,6 @@
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Status_NS",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/THEA",
"forceFault": null,
@ -526,6 +321,16 @@
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Tipper",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
}
]
},
@ -559,8 +364,9 @@
"props.data[11].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state5"
"path": "session.custom.colours.state6"
},
"enabled": false,
"type": "property"
}
},
@ -575,7 +381,7 @@
"props.data[12].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state4"
"path": "session.custom.colours.state5"
},
"type": "property"
}
@ -583,7 +389,7 @@
"props.data[13].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state3"
"path": "session.custom.colours.state4"
},
"type": "property"
}
@ -591,12 +397,20 @@
"props.data[14].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state2"
"path": "session.custom.colours.state3"
},
"type": "property"
}
},
"props.data[15].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state2"
},
"type": "property"
}
},
"props.data[16].Color.style.backgroundColor": {
"binding": {
"config": {
"path": "session.custom.colours.state1"
@ -931,6 +745,19 @@
},
"Description": "MHE is Full"
},
{
"Color": {
"align": "center",
"justify": "left",
"style": {
"backgroundColor": "#FFFF00",
"classes": "",
"color": "#000000"
},
"value": "Half Full"
},
"Description": "MHE is Half Full"
},
{
"Color": {
"align": "center",
@ -975,7 +802,7 @@
"align": "center",
"justify": "left",
"style": {
"backgroundColor": "",
"backgroundColor": "#3C3C3C",
"borderBottomStyle": "solid",
"borderBottomWidth": 1,
"borderLeftStyle": "hidden",
@ -1086,6 +913,7 @@
"selection": {
"enableRowSelection": false,
"style": {
"backgroundColor": "#3C3C3C",
"fontWeight": "bold"
}
}
@ -1109,6 +937,7 @@
"config": {
"path": "view.params.Dataset"
},
"enabled": false,
"type": "property"
}
},
@ -1117,11 +946,187 @@
"config": {
"path": "view.params.FilteredViews"
},
"enabled": false,
"type": "property"
}
}
},
"props": {
"params": {
"Dataset": [
{
"path": "Symbol-Views/Equipment-Views/Button"
},
{
"path": "Symbol-Views/Equipment-Views/Carrier"
},
{
"path": "Symbol-Views/Equipment-Views/Chute"
},
{
"path": "Symbol-Views/Equipment-Views/ControlCabinet"
},
{
"path": "Symbol-Views/Equipment-Views/DeviceStatus"
},
{
"path": "Symbol-Views/Equipment-Views/Extendo"
},
{
"path": "Symbol-Views/Equipment-Views/MCM"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord_End"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord_Line"
},
{
"path": "Symbol-Views/Equipment-Views/SS_Button"
},
{
"path": "Symbol-Views/Equipment-Views/Status"
},
{
"path": "Symbol-Views/Equipment-Views/Tipper"
}
],
"FilteredViews": [
{
"Path": "Symbol-Views/Equipment-Views/Button",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Carrier",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Chute",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/ControlCabinet",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/DeviceStatus",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Extendo",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/MCM",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord_End",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord_Line",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SS_Button",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Status",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Tipper",
"forceFault": null,
"forceRunning": 3,
"has_state": true,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
}
]
},
"path": "PopUp-Views/Legend_Popup/Legend-table"
},
"type": "ia.display.view"

View File

@ -0,0 +1,16 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-21T08:19:37Z"
},
"lastModificationSignature": "9e349042608fdea5432f01f7c52ee39ba230154c6a9161927bcd6a888c7fe19f"
}
}

View File

@ -0,0 +1,225 @@
{
"custom": {
"color": "#FFFFFF",
"priority": "No Active Alarms",
"state": "TagError"
},
"params": {
"tagProps": [
"Status/Chutes/Chute_0",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.color": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\n\tif data.get(\"bBeacon_Yellow\"):\n\t return \"#FF8C00\"\n\telif data.get(\"bBeacon_Green\"):\n\t return \"#008000\"\n\telif data.get(\"bBeacon_Blue\"):\n\t return \"#0000FF\"\n\t\n\treturn \"#FFFFFF\"",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\n\tif data.get(\"bBeacon_Yellow\"):\n\t return \"High\"\n\telif data.get(\"bBeacon_Green\"):\n\t return \"Low\"\n\telif data.get(\"bBeacon_Blue\"):\n\t return \"Low\"\n\t\n\treturn \"No Active Alarms\"",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\n\tif value is None or data.get(\"_quality\") \u003d\u003d \"Bad\" or data.get(\"error\"):\n\t return \"TagError\"\n\t\n\tif data.get(\"bBeacon_Yellow\"):\n\t return \"#FF8C00\"\n\telif data.get(\"bBeacon_Green\"):\n\t return \"#008000\"\n\telif data.get(\"bBeacon_Blue\"):\n\t return \"#0000FF\"\n\t\n\treturn \"Inactive\"\n",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 20,
"width": 29
}
},
"root": {
"children": [
{
"meta": {
"name": "RunningStatus"
},
"position": {
"grow": 1
},
"propConfig": {
"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": {
"path": "view.custom.color"
},
"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 0 0 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": 3
},
"type": "path"
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "-1.5 -1.5 73 63"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-CH\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.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"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true,
"location": "top-left",
"style": {}
}
},
"propConfig": {
"meta.tooltip.style.classes": {
"binding": {
"config": {
"expression": "{view.custom.priority}"
},
"transforms": [
{
"fallback": "Alarms-Styles/NoAlarm",
"inputType": "scalar",
"mappings": [
{
"input": "High",
"output": "Alarms-Styles/High"
},
{
"input": "Medium",
"output": "Alarms-Styles/Medium"
},
{
"input": "Low",
"output": "Alarms-Styles/Low"
},
{
"input": "Diagnostic",
"output": "Alarms-Styles/Diagnostic"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.state} !\u003d \"TagError\",\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority} + \", State: \" + {view.custom.state},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
}
},
"props": {
"justify": "center"
},
"type": "ia.container.flex"
}
}

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-09-21T10:49:14Z"
},
"lastModificationSignature": "f56a1ab8145c33517ec63bf7d121766db797e04ac1623ed4bd17182addf591d6"
}
}

View File

@ -0,0 +1,294 @@
{
"custom": {
"color": "#000000",
"priority": "No Active Alarms",
"state": "TagError"
},
"params": {
"tagProps": [
"Status/Chutes/Chute_0",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.color": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\n\tif data.get(\"bLamp_Enable\"):\n\t return \"#CCFFCC\" \n\treturn \"#000000\"",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\n\tif data.get(\"bLamp_Enable\"):\n\t return \"Low\" \n\treturn \"No Active Alarms\"",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/"
},
"transforms": [
{
"code": "\tdata \u003d dict(value) if value else {}\n\t\t\n\tif value is None or data.get(\"_quality\") \u003d\u003d \"Bad\" or data.get(\"error\"):\n\t return \"TagError\"\n\tif data.get(\"bLamp_Enable\"):\n\t return \"Enable PB Pressed\" \n\treturn \"Inactive\"",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 25,
"width": 25
}
},
"root": {
"children": [
{
"meta": {
"name": "Button"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.elements[1].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.state} \u003d \"Closed\",\r\n \"#000000\",\r\n {view.custom.color}\r\n)\r\n"
},
"type": "expr"
}
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True,\r\n{view.custom.state} + 100,\r\n{view.custom.state})"
},
"enabled": false,
"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": {
"elements": [
{
"d": "M 0,0 H 20 V 20 H 0 Z",
"fill": {
"paint": "#AAAAAA"
},
"name": "path",
"stroke": {
"paint": "#000000",
"width": "1.5"
},
"type": "path"
},
{
"d": "m 17,10.5 a 7,7 0 0 1 -7,7 7,7 0 0 1 -7,-7 7,7 0 0 1 7,-7 7,7 0 0 1 7,7 z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000",
"width": "1"
},
"type": "path"
}
],
"viewBox": "0 0 20 20"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-CHPB\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.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"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true,
"style": {}
}
},
"propConfig": {
"meta.tooltip.style.classes": {
"binding": {
"config": {
"expression": "{view.custom.priority}"
},
"transforms": [
{
"fallback": "Alarms-Styles/NoAlarm",
"inputType": "scalar",
"mappings": [
{
"input": "High",
"output": "Alarms-Styles/High"
},
{
"input": "Medium",
"output": "Alarms-Styles/Medium"
},
{
"input": "Low",
"output": "Alarms-Styles/Low"
},
{
"input": "Diagnostic",
"output": "Alarms-Styles/Diagnostic"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.state} !\u003d \"TagError\",\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority} + \", State: \" + {view.custom.state},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
},
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_buttons"
},
"type": "property"
}
}
},
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
}
},
"type": "ia.container.coord"
}
}

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "external",
"timestamp": "2025-04-08T09:28:16Z"
},
"lastModificationSignature": "e694f22aca5e72fbaea086dd04130bdf5b3c98b2763e5a1b40d6f77959d82b97"
}
}

View File

@ -0,0 +1,45 @@
{
"custom": {},
"params": {
"Description": ""
},
"propConfig": {
"params.Description": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"meta": {
"name": "Description"
},
"position": {
"basis": "200px",
"grow": 1
},
"propConfig": {
"props.source": {
"binding": {
"config": {
"bidirectional": true,
"path": "view.params.Description"
},
"type": "property"
}
}
},
"type": "ia.display.markdown"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
}

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-09-21T09:00:19Z"
},
"lastModificationSignature": "a5d786c627c74b3139149d64d6f17bfc886e4f9d77840e7efc7e29435f4aaf94"
}
}

View File

@ -0,0 +1,109 @@
{
"custom": {},
"params": {
"Categories": [],
"SelectedRow": null
},
"propConfig": {
"params.Categories": {
"paramDirection": "inout",
"persistent": true
},
"params.SelectedRow": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 390
}
},
"root": {
"children": [
{
"events": {
"component": {
"onRowClick": {
"config": {
"script": "\tparams \u003d {\u0027UserClickData\u0027: self.props.selection.data[0].Category}\n\tsystem.perspective.sendMessage(\"UserClickCategory\", payload \u003d params, scope \u003d \"page\")\n\tsystem.perspective.print(params)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Table"
},
"position": {
"basis": "400px"
},
"propConfig": {
"props.data": {
"binding": {
"config": {
"bidirectional": true,
"path": "view.params.Categories"
},
"type": "property"
}
},
"props.selection.data[0].Category": {
"binding": {
"config": {
"bidirectional": true,
"path": "view.params.SelectedRow"
},
"type": "property"
}
}
},
"props": {
"enableHeader": false,
"filter": {
"enabled": true
}
},
"type": "ia.display.table"
}
],
"meta": {
"contextMenu": {
"items": [
{
"children": [],
"icon": {
"color": "",
"path": "",
"style": {}
},
"link": {
"target": "self",
"url": ""
},
"message": {
"payload": {},
"scope": "page",
"type": ""
},
"method": {
"name": "",
"params": {}
},
"style": {
"classes": ""
},
"text": "menu-item",
"type": "link"
}
]
},
"name": "root"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
}

View File

@ -191,8 +191,16 @@
}
},
{
"Name": "StatusNonPowered",
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered",
"Name": "Chute",
"Path": "Symbol-Views/Equipment-Views/Chute",
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Name": "Tipper",
"Path": "Symbol-Views/Equipment-Views/Tipper",
"instancePosition": {},
"instanceStyle": {
"classes": ""

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-09-21T09:02:35Z"
},
"lastModificationSignature": "1b88c40f0a1c961bbecea84f4970184d3500fcbe95e86c4d8aa4a029181673c3"
}
}

View File

@ -0,0 +1,46 @@
{
"custom": {},
"params": {
"Information": ""
},
"propConfig": {
"params.Information": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"meta": {
"name": "Markdown"
},
"position": {
"basis": "200px",
"grow": 1
},
"propConfig": {
"props.source": {
"binding": {
"config": {
"bidirectional": true,
"path": "view.params.Information"
},
"type": "property"
}
}
},
"type": "ia.display.markdown"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"justify": "space-evenly"
},
"type": "ia.container.flex"
}
}

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-09-21T10:41:50Z"
},
"lastModificationSignature": "d6cad5ac9ddff038ecb378b0d41c0c2b00ccd81b116d714ad333b4515fc7365d"
}
}

View File

@ -0,0 +1,961 @@
{
"custom": {
"key": {
"alt_pageid": "library",
"pageid": "library",
"start_time": {
"$": [
"ts",
192,
1702653666845
],
"$ts": 1702653102761
}
}
},
"events": {
"system": {
"onStartup": {
"config": {
"script": "\t#############################################################################################\n\t# Purpose:\tThis script searches the current views in the parent project. Script compares \t#\n\t#\t\t\tthe information from S3 to make sure the correct paths and information is\t\t#\n\t#\t\t\tdisplayed to the child objects. Where the path is the key for the JSON\t\t\t#\n\t# Login: \t\t\tDate:\t\t\t\t#Comment:\t\t\t\t\t\t\t\tVersion:\t# \n\t# dmamani\t\t\t1/4/23\t\t\t\tRelease to Production\t\t\t\t\tV1\t\t\t#\n\t# \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t#\n\t#############################################################################################\n\t\t\n\t# - Params to Force Filters to show all symbols on the custom properties\n\tself.session.custom.alarm_filter.show_running \u003d True\n\tself.session.custom.alarm_filter.show_safety \u003d True\n\tself.session.custom.alarm_filter.show_diagnostic \u003d True\n\tself.session.custom.alarm_filter.show_gateways \u003d True\n\tself.session.custom.alarm_filter.show_low_alarm \u003d True\n\tfrom SymbolLibrary import list_categories, fetch_library, update_symbol_library\n\t# - Default Symbol JSON structure definitions\n\tdefault_symbol_info \u003d {\"description\": \"\",\t\"name\": \"\",\t\"category\": \"\",\"info\": \"\"} \n\t# - Get all Symbol Views and write them to tags\n\tproject_info \u003d system.perspective.getProjectInfo()\n\tviews \u003d project_info.get(\u0027views\u0027,[])\n\t# - Define criterias\n\tfilter_criterion \u003d \"Symbol-Views\"\n\tfilter_criterion2 \u003d \"Symbol-Library-Views\"\n\tfilter_criterion3 \u003d \"Controller-Views\"\n\tfilter_criterion4 \u003d \"Symbol-Views/Equipment-Views/Test\"\n\t# - Filter views that are not necessary for the symbol library and ensure the correct path\n\tfiltered_views \u003d [\n\t\tview for view in views \n\t\tif filter_criterion in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion2 in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion3 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\tand not filter_criterion4 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\t]\n\t# - Create JSON from the list \n\tjson_structure \u003d []\n\tsymbol_view_list \u003d []\n\tfor view in filtered_views:\n\t\tinstance \u003d {\n\t\t\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"instancePosition\": {},\n\t\t\t\"Path\": view.get(\u0027path\u0027,\u0027\u0027),\n\t\t\t\"forceRunning\": 3,\n\t\t\t\"forceFault\": None\n\t\t}\n\t\tjson_structure.append(instance)\n\t\tsymbol_view_list.append(view.get(\u0027path\u0027,\u0027\u0027))\n\tjson_structure.sort(key \u003d lambda x:x[\u0027Path\u0027].split(\"/\")[len(x[\u0027Path\u0027].split(\"/\"))-1])\n\t# - Encode JSON for igniton variables to populate correctly\n\tjson_result \u003d system.util.jsonEncode(json_structure)\n\tself.params.Dataset \u003d filtered_views\n\tself.params.FilteredViews \u003d json_structure\n\tsystem.perspective.print(filtered_views)\n\t\n\t# - Get all Symbol Categories from JSON Dictionary\t\n\tremote_json \u003d fetch_library(username\u003dself.session.props.auth.user.userName)\n\tfor path in json_structure:\n\t\tif path[\"Path\"] not in remote_json:\n\t\t\tupdate_symbol_library(path[\"Path\"], username\u003dself.session.props.auth.user.userName, **default_symbol_info)\n\t\t\tremote_json[path[\"Path\"]] \u003d default_symbol_info\n\t# - Remove by key in case symbol does not exist in Folder Structure\n\tself.params.SymbolLibrary \u003d {k: v for k, v in remote_json.items() if k in symbol_view_list}\n\tcategory_data \u003d [{\"Category\": category} for category in list_categories(self.params.SymbolLibrary)]\n\tself.params.CategoryList \u003d category_data\n"
},
"scope": "G",
"type": "script"
}
}
},
"params": {
"CategoryList": [
{
"Category": "ALL"
},
{
"Category": "Control"
},
{
"Category": "Device Status"
},
{
"Category": "Equipment Status"
},
{
"Category": "Field Device"
},
{
"Category": "Machine"
},
{
"Category": "Network"
},
{
"Category": "Not in use"
},
{
"Category": "Safety"
}
],
"SelectedCategory": "",
"SelectedDescription": "",
"SelectedInfo": "",
"SelectedPath": "",
"SelectedRow": "Control",
"SymbolDetails": {
"ARSAW": {
"category": "",
"description": "",
"info": "Test",
"path": "Symbol-Views/Equipment-Views/ARSAW"
},
"AUS": {
"category": "A",
"description": "AUS DESCRIPTION AUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTION",
"info": "AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO AUS INFO ",
"path": "Symbol-Views/Equipment-Views/AUS"
},
"Camera": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Camera"
},
"ControlCabinet": {
"category": "",
"description": "",
"info": "### Symbol Information\nDate Created: 12/20/21\n\nCreated By: amazonuser\n\nSize: 10X10",
"path": "Symbol-Views/Equipment-Views/ControlCabinet"
},
"DeviceStatus": {
"category": "B",
"description": "",
"info": "",
"path": "Symbol-Views/Device-Views/DeviceStatus"
},
"DeviceStatus_old": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Device-Views/DeviceStatus_old"
},
"Estop": {
"category": "C",
"description": "E-stop description, E-stop description, E-stop description, E-stop description, E-stop description",
"info": "E-stop info, E-stop info, E-stop info, E-stop info, E-stop info, E-stop info, E-stop info",
"path": "Symbol-Views/Equipment-Views/Estop"
},
"GoodsLift": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/GoodsLift"
},
"JAM": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/JAM"
},
"Light_Curtain": {
"category": "B",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Light_Curtain"
},
"Main_Panel": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Main_Panel"
},
"Network": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Network"
},
"Pointer": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Pointer"
},
"PressureSwitch": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/PressureSwitch"
},
"PullChord": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/PullChord"
},
"PullChord_End": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/PullChord_End"
},
"PullChord_Line": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/PullChord_Line"
},
"PullChord_Line_Vertical": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical"
},
"RFID": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/RFID"
},
"Robot": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Robot"
},
"SLAMs": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/SLAMs"
},
"SafetyGate": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/SafetyGate"
},
"Stacker_Destacker": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Stacker_Destacker"
},
"Status": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Status"
},
"StatusNonPowered": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/StatusNonPowered"
},
"StatusNonPowered_NS": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS"
},
"Status_NS": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/Status_NS"
},
"THEA": {
"category": "",
"description": "",
"info": "",
"path": "Symbol-Views/Equipment-Views/THEA"
}
},
"SymbolLibrary": ""
},
"propConfig": {
"custom.key": {
"persistent": true
},
"params.CategoryList": {
"binding": {
"config": {
"bidirectional": true,
"path": "/root/Dashboard.props.widgets[0].viewParams.Categories"
},
"type": "property"
},
"paramDirection": "inout",
"persistent": true
},
"params.Dataset": {
"binding": {
"config": {
"path": "/root/Dashboard.props.widgets[3].viewParams.Dataset"
},
"type": "property"
}
},
"params.FilteredViews": {
"binding": {
"config": {
"bidirectional": true,
"path": "/root/Dashboard.props.widgets[3].viewParams.FilteredViews"
},
"type": "property"
}
},
"params.SelectedCategory": {
"paramDirection": "input",
"persistent": true
},
"params.SelectedDescription": {
"binding": {
"config": {
"bidirectional": true,
"path": "/root/Dashboard.props.widgets[1].viewParams.Description"
},
"type": "property"
},
"paramDirection": "inout",
"persistent": true
},
"params.SelectedInfo": {
"binding": {
"config": {
"bidirectional": true,
"path": "/root/Dashboard.props.widgets[2].viewParams.Information"
},
"type": "property"
},
"paramDirection": "inout",
"persistent": true
},
"params.SelectedPath": {
"paramDirection": "input",
"persistent": true
},
"params.SelectedRow": {
"onChange": {
"enabled": null,
"script": "\tfrom SymbolLibrary import search_items\n\tsystem.perspective.print(currentValue.value)\n\titems \u003d [{\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t\t},\n\t\t\t\t\t\"instancePosition\": {},\n\t\t\t\t\t\"forceRunning\": 3,\n\t\t\t\t\t\"forceFault\": None,\n\t\t\t\t\"Path\": item} for item in search_items(self.params.SymbolLibrary,currentValue.value)]\n\tsystem.perspective.print(items)\n\tself.params.FilteredViews \u003d items\n\t\n\t"
},
"paramDirection": "inout",
"persistent": true
},
"params.SymbolDetails": {
"binding": {
"config": {
"path": ""
},
"enabled": false,
"transforms": [
{
"code": "\tfrom SymbolLibrary import library_items\n\treturn library_items",
"type": "script"
}
],
"type": "property"
},
"paramDirection": "inout",
"persistent": true
},
"params.SymbolLibrary": {
"binding": {
"config": {
"path": "/root/Dashboard.props.widgets[3].viewParams.SymbolLibrary"
},
"type": "property"
},
"paramDirection": "inout",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 786,
"width": 1196
}
},
"root": {
"children": [
{
"events": {
"dom": {
"onDoubleClick": {
"config": {
"draggable": true,
"id": "editItem",
"modal": false,
"overlayDismiss": false,
"resizable": true,
"showCloseIcon": true,
"type": "open",
"viewParams": {
"btnTextPrimary": "Submit Changes",
"btnTextSecondary": "",
"editField1": "{view.params.SelectedCategory}",
"editField2": "{view.params.SelectedInfo}",
"editField3": "{view.params.SelectedDescription}",
"field1Description": "Category",
"field2Description": "Information",
"field3Description": "Description",
"message": " ",
"path": "{view.params.SelectedPath}",
"showCloseBtn": "False",
"title": "Update Symbol Details"
},
"viewPath": "PopUp-Views/EditItem",
"viewportBound": false
},
"scope": "C",
"type": "popup"
}
}
},
"meta": {
"name": "Dashboard"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.widgets[0].viewParams.Dataset": {
"binding": {
"config": {
"path": "view.params.Dataset"
},
"type": "property"
}
}
},
"props": {
"editingToggle": false,
"stretch": {
"rowCount": 5
},
"widgets": [
{
"body": {
"style": {
"classes": ""
}
},
"header": {
"enabled": true,
"style": {
"classes": ""
},
"title": "Category"
},
"isConfigurable": false,
"minSize": {
"columnSpan": 1,
"rowSpan": 1
},
"name": "Category",
"position": {
"columnEnd": 3,
"columnStart": 1,
"rowEnd": 3,
"rowStart": 1
},
"style": {
"classes": ""
},
"viewParams": {
"Categories": [
{
"Category": "ALL"
},
{
"Category": "Control"
},
{
"Category": "Device Status"
},
{
"Category": "Equipment Status"
},
{
"Category": "Field Device"
},
{
"Category": "Machine"
},
{
"Category": "Network"
},
{
"Category": "Not in use"
},
{
"Category": "Safety"
}
],
"SelectedRow": ""
},
"viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Filter-View"
},
{
"body": {
"style": {
"classes": ""
}
},
"header": {
"enabled": true,
"style": {
"classes": ""
},
"title": "Symbol Description"
},
"isConfigurable": false,
"minSize": {
"columnSpan": 1,
"rowSpan": 1
},
"name": "Description",
"position": {
"columnEnd": 9,
"columnStart": 3,
"rowEnd": 6,
"rowStart": 4
},
"style": {
"classes": ""
},
"viewParams": {
"Description": ""
},
"viewPath": "Symbol-Views/Symbol-Library-Views/Selected-Symbol-Description"
},
{
"body": {
"style": {
"classes": ""
}
},
"header": {
"enabled": true,
"style": {
"classes": ""
},
"title": "Symbol Information"
},
"isConfigurable": false,
"minSize": {
"columnSpan": 1,
"rowSpan": 1
},
"name": "Information",
"position": {
"columnEnd": 3,
"columnStart": 1,
"rowEnd": 6,
"rowStart": 3
},
"style": {
"classes": ""
},
"viewParams": {
"Information": ""
},
"viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Information-View"
},
{
"body": {
"style": {
"classes": ""
}
},
"header": {
"enabled": true,
"style": {
"classes": ""
},
"title": "Symbol Library - All Available Symbols"
},
"isConfigurable": false,
"minSize": {
"columnSpan": 1,
"rowSpan": 1
},
"name": "Description",
"position": {
"columnEnd": 9,
"columnStart": 3,
"rowEnd": 4,
"rowStart": 1
},
"style": {
"classes": ""
},
"viewParams": {
"Dataset": [
{
"path": "Symbol-Views/Device-Views/DeviceStatus"
},
{
"path": "Symbol-Views/Device-Views/DeviceStatus_old"
},
{
"path": "Symbol-Views/Device-Views/Estop"
},
{
"path": "Symbol-Views/Equipment-Views/ARSAW"
},
{
"path": "Symbol-Views/Equipment-Views/AUS"
},
{
"path": "Symbol-Views/Equipment-Views/Camera"
},
{
"path": "Symbol-Views/Equipment-Views/ControlCabinet"
},
{
"path": "Symbol-Views/Equipment-Views/Estop"
},
{
"path": "Symbol-Views/Equipment-Views/GoodsLift"
},
{
"path": "Symbol-Views/Equipment-Views/JAM"
},
{
"path": "Symbol-Views/Equipment-Views/Light_Curtain"
},
{
"path": "Symbol-Views/Equipment-Views/Main_Panel"
},
{
"path": "Symbol-Views/Equipment-Views/Network"
},
{
"path": "Symbol-Views/Equipment-Views/Pointer"
},
{
"path": "Symbol-Views/Equipment-Views/PressureSwitch"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord_End"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord_Line"
},
{
"path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical"
},
{
"path": "Symbol-Views/Equipment-Views/RFID"
},
{
"path": "Symbol-Views/Equipment-Views/Robot"
},
{
"path": "Symbol-Views/Equipment-Views/SLAMs"
},
{
"path": "Symbol-Views/Equipment-Views/SafetyGate"
},
{
"path": "Symbol-Views/Equipment-Views/Stacker_Destacker"
},
{
"path": "Symbol-Views/Equipment-Views/Status"
},
{
"path": "Symbol-Views/Equipment-Views/StatusNonPowered"
},
{
"path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS"
},
{
"path": "Symbol-Views/Equipment-Views/Status_NS"
},
{
"path": "Symbol-Views/Equipment-Views/THEA"
},
{
"path": "Symbol-Views/Equipment-Views/Test"
}
],
"FilteredViews": [
{
"Path": "Symbol-Views/Equipment-Views/ARSAW",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/AUS",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Camera",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/CognexCamera",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/ControlCabinet",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Device-Views/DeviceStatus",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Device-Views/DeviceStatus_old",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Device-Views/Estop",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Estop",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/GoodsLift",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/JAM",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Light_Curtain",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Main_Panel",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Network",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Pointer",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PressureSwitch",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord_End",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord_Line",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/RFID",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Robot",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SLAMs",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/SafetyGate",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Stacker_Destacker",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Status",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/Status_NS",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
},
{
"Path": "Symbol-Views/Equipment-Views/THEA",
"forceFault": null,
"forceRunning": 3,
"instancePosition": {},
"instanceStyle": {
"classes": ""
}
}
],
"SelectedValue": "",
"SymbolLibrary": "",
"key": ""
},
"viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Icons-View"
}
]
},
"type": "ia.display.dashboard"
}
],
"meta": {
"name": "root"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "UserClickInfo",
"pageScope": true,
"script": "\tfrom pprint import pformat\n\tSymbolPath \u003d payload[\"UserClickPath\"]\n\tsystem.perspective.print(pformat(self.view.params.SymbolLibrary[SymbolPath]))\n\tself.view.params.SelectedInfo \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027info\u0027]\n\tself.view.params.SelectedDescription \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027description\u0027]\n\tself.view.params.SelectedPath \u003d SymbolPath \n\tself.view.params.SelectedCategory \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027category\u0027]\n\tsystem.perspective.print(SymbolPath)\n",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "UserClickCategory",
"pageScope": true,
"script": "\n\tSelectedRow \u003d payload[\"UserClickData\"]\n\tself.view.params.SelectedRow \u003d SelectedRow",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "UserClickRefresh",
"pageScope": true,
"script": "\tfrom SymbolLibrary import list_categories, fetch_library\n\t\n\t#Get all Symbol Views and write them to tags\n\tproject_info \u003d system.perspective.getProjectInfo()\n\tviews \u003d project_info.get(\u0027views\u0027,[])\n\t# - Define criterias\n\tfilter_criterion \u003d \"Symbol-Views\"\n\tfilter_criterion2 \u003d \"Symbol-Library-Views\"\n\tfilter_criterion3 \u003d \"Controller-Views\"\n\tfilter_criterion4 \u003d \"Symbol-Views/Equipment-Views/Test\"\n\t# - Filter views that are not necessary for the symbol library and ensure the correct path\n\tfiltered_views \u003d [\n\t\tview for view in views \n\t\tif filter_criterion in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion2 in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion3 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\tand not filter_criterion4 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\t]\n\t# - Create JSON from the list \n\tjson_structure \u003d []\n\tsymbol_view_list \u003d []\n\tfor view in filtered_views:\n\t\tinstance \u003d {\n\t\t\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"instancePosition\": {},\n\t\t\t\"Path\": view.get(\u0027path\u0027,\u0027\u0027),\n\t\t\t\"forceRunning\": 3,\n\t\t\t\"forceFault\": None\n\t\t}\n\t\tjson_structure.append(instance)\n\t\tsymbol_view_list.append(view.get(\u0027path\u0027,\u0027\u0027))\n\tjson_structure.sort(key \u003d lambda x:x[\u0027Path\u0027].split(\"/\")[len(x[\u0027Path\u0027].split(\"/\"))-1])\t\n\t# - Encode JSON for igniton variables to populate correctly\n\tjson_result \u003d system.util.jsonEncode(json_structure)\n\tself.view.params.Dataset \u003d filtered_views\n\tself.view.params.FilteredViews \u003d json_structure\n\tsystem.perspective.print(filtered_views)\n\t\n\t# - Get all Symbol Categories from JSON Dictionary\t\n\tremote_json \u003d fetch_library(username\u003dself.session.props.auth.user.userName)\n\tself.view.params.SymbolLibrary \u003d {k: v for k, v in remote_json.items() if k in symbol_view_list}\n\tcategory_data \u003d [{\"Category\": category} for category in list_categories(self.view.params.SymbolLibrary)]\n\tself.view.params.CategoryList \u003d category_data\n\tself.view.params.SelectedRow \u003d \u0027ALL\u0027\n\tself.view.params.SelectedDescription \u003d \"\"\n\tself.view.params.SelectedInfo \u003d \"\"",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.container.flex"
}
}