modified the IO Block, removed FIO param, now it is dinamic. modified Camera view as well. Changes to the docked device view. now can be seen what device we clicked on

This commit is contained in:
Salijoghli 2025-09-15 18:01:20 +04:00
parent 41bd5912ef
commit f5a2577442
39 changed files with 1030 additions and 562 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1221,10 +1221,10 @@
"name": "UL15_1_TPE1"
},
"position": {
"height": 0.0231,
"width": 0.0255,
"x": 0.0262,
"y": 0.3945
"height": 0.0185,
"width": 0.0286,
"x": 0.0257,
"y": 0.3963
},
"props": {
"loading": {
@ -1242,15 +1242,12 @@
"value",
"value",
"value"
],
"width": "value"
]
},
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},
@ -1259,12 +1256,12 @@
"name": "UL15_2_TPE1"
},
"position": {
"height": 0.021,
"height": 0.0187,
"rotate": {
"angle": "60deg"
},
"width": 0.0394,
"x": 0.0336,
"width": 0.0286,
"x": 0.04,
"y": 0.3397
},
"props": {
@ -1553,9 +1550,7 @@
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},
@ -1569,7 +1564,7 @@
"angle": "90deg"
},
"width": 0.0286,
"x": 0.2997,
"x": 0.2987,
"y": 0.2779
},
"props": {
@ -1590,9 +1585,7 @@
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},

View File

@ -3,7 +3,8 @@
"PLC": "MCM01",
"device": "UL14_1_SIO1",
"showTags": true,
"state": "Closed"
"state": "Closed",
"view": "autStand/Equipment/IO_Block"
},
"params": {
"tagProps": [
@ -49,6 +50,10 @@
],
"type": "property"
},
"onChange": {
"enabled": null,
"script": "\tname \u003d self.view.custom.device\n\tdevice \u003d name.split(\"_\")[-1]\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027PE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027), \n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if device.startswith(key):\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
},
"persistent": true
},
"custom.showTags": {
@ -293,6 +298,9 @@
},
"persistent": true
},
"custom.view": {
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
@ -832,11 +840,23 @@
"x": 37.33,
"y": 23
},
"props": {
"params": {
"name": "Red"
"propConfig": {
"props.params.tagProps": {
"binding": {
"config": {
"path": "view.params.tagProps"
},
"type": "property"
}
},
"path": "autStand/Equipment/Beacon"
"props.path": {
"binding": {
"config": {
"path": "view.custom.view"
},
"type": "property"
}
}
},
"type": "ia.display.view"
},

View File

@ -2,7 +2,7 @@
"custom": {
"PLC": "MCM01",
"device": "UL15_1",
"maintance_mode": true,
"maintance_mode": false,
"showTags": true,
"state": "Actuated"
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,357 +0,0 @@
{
"custom": {
"disconnected": false,
"priority": 0,
"state": 0,
"state_string": "Unknown"
},
"params": {
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.disconnected": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}",
"plc": "{view.custom.plc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN"
},
"transforms": [
{
"expression": "if(isNull({value}), False, {value})",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"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}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 100,
"width": 100
}
},
"root": {
"children": [
{
"meta": {
"name": "Camera"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.elements[1].elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"enabled": false,
"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"
},
{
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "property"
}
}
},
"props": {
"elements": [
{
"id": "defs963",
"name": "defs963",
"type": "defs"
},
{
"elements": [
{
"d": "M 108.69378,77.205299 A 30.372795,30.372799 0 0 1 78.350262,107.57808 30.372795,30.372799 0 0 1 47.948245,77.263855 30.372795,30.372799 0 0 1 78.23315,46.832627 a 30.372795,30.372799 0 0 1 30.4604,30.255561",
"fill": {
"paint": "#00CC00"
},
"id": "path2823",
"name": "path2823",
"stroke": {
"dasharray": "none",
"linejoin": "round",
"miterlimit": "4",
"paint": "#000000",
"width": "2.30899"
},
"style": {
"paintOrder": "markers fill stroke"
},
"type": "path"
},
{
"elements": [
{
"elements": [
{
"elements": [
{
"d": "m 308.1,277.95 c 0,35.7 -28.9,64.6 -64.6,64.6 -35.7,0 -64.6,-28.9 -64.6,-64.6 0,-35.7 28.9,-64.6 64.6,-64.6 35.7,0 64.6,28.9 64.6,64.6 z m 132.2,-161.9 c 25.8,0 46.7,20.9 46.7,46.7 v 122.4 103.8 c 0,27.5 -22.3,49.8 -49.8,49.8 H 49.8 C 22.3,438.75 0,416.45 0,388.95 v -103.9 -122.3 0 c 0,-25.8 20.9,-46.7 46.7,-46.7 h 93.4 l 4.4,-18.6 c 6.7,-28.8 32.4,-49.2 62,-49.2 h 74.1 c 29.6,0 55.3,20.4 62,49.2 l 4.3,18.6 z m -342.9,67.4 c 0,-12.9 -10.5,-23.4 -23.4,-23.4 -13,0 -23.5,10.5 -23.5,23.4 0,12.9 10.5,23.4 23.4,23.4 13,0.1 23.5,-10.4 23.5,-23.4 z m 261.3,94.5 c 0,-63.6 -51.6,-115.2 -115.2,-115.2 -63.6,0 -115.2,51.6 -115.2,115.2 0,63.6 51.6,115.2 115.2,115.2 63.6,0 115.2,-51.6 115.2,-115.2 z",
"id": "path954",
"name": "path954",
"type": "path"
}
],
"id": "g956",
"name": "g956",
"type": "group"
}
],
"id": "g958",
"name": "g958",
"transform": "matrix(0.10552692,0,0,0.1049851,58.573883,61.035557)",
"type": "group"
}
],
"id": "g2695",
"name": "g2695",
"transform": "matrix(0.78290367,0,0,0.78703031,12.345936,11.651649)",
"type": "group"
}
],
"id": "g3222",
"name": "g3222",
"transform": "matrix(0.45169465,0,0,0.44391375,-20.878644,-19.304276)",
"type": "group"
}
],
"fill": {
"paint": "#000000"
},
"viewBox": "0 0 29.22 29.22"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true,
"location": "top-left",
"style": {}
}
},
"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": {
"expression": "{view.custom.priority}"
},
"transforms": [
{
"fallback": "Alarms-Styles/NoAlarm",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
"outputType": "style-list",
"type": "map"
}
],
"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\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\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\")"
},
"type": "expr"
}
},
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_camera_jams"
},
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"transforms": [
{
"fallback": "Disconnects/Device-Connected",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "Disconnects/Device-Disconnected"
},
{
"input": false,
"output": "Disconnects/Device-Connected"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"aspectRatio": "1:1",
"mode": "percent",
"style": {
"cursor": "pointer"
}
},
"type": "ia.container.coord"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,567 @@
{
"custom": {
"color": "value",
"priority": "No Active Alarms",
"state": "Closed"
},
"params": {
"tagProps": [
"value",
"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}/Color"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#C2C2C2"
},
{
"input": 1,
"output": "#FF0000"
},
{
"input": 2,
"output": "#FFA500"
},
{
"input": 3,
"output": "#0008FF"
},
{
"input": 4,
"output": "#00FF00"
},
{
"input": 5,
"output": "#FFF700"
},
{
"input": 6,
"output": "#87CEEB"
},
{
"input": 7,
"output": "#90EE90"
},
{
"input": 8,
"output": "#964B00"
},
{
"input": 9,
"output": "#FFFFFF"
},
{
"input": 10,
"output": "#000000"
},
{
"input": 11,
"output": "#8B0000"
},
{
"input": 12,
"output": "#808080"
},
{
"input": 13,
"output": "#8B8000"
},
{
"input": 14,
"output": "#006400"
},
{
"input": 15,
"output": "#FFFFC5"
},
{
"input": 16,
"output": "#00008B"
},
{
"input": 17,
"output": "#FF7276"
},
{
"input": 18,
"output": "#556B2F"
},
{
"input": 19,
"output": "#B43434"
},
{
"input": 20,
"output": "#4682B4"
},
{
"input": 21,
"output": "#FFD700"
}
],
"outputType": "color",
"type": "map"
}
],
"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}/Priority"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "No Active Alarms"
},
{
"input": 1,
"output": "High"
},
{
"input": 2,
"output": "Medium"
},
{
"input": 3,
"output": "Low"
},
{
"input": 4,
"output": "Diagnostic"
}
],
"outputType": "scalar",
"type": "map"
}
],
"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}/State"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "Closed"
},
{
"input": 1,
"output": "Actuated"
},
{
"input": 2,
"output": "Communication Faulted"
},
{
"input": 3,
"output": "Conveyor Running In Maintenance Mode"
},
{
"input": 4,
"output": "Disabled"
},
{
"input": 5,
"output": "Disconnected"
},
{
"input": 6,
"output": "Stopped"
},
{
"input": 7,
"output": "Enabled Not Running"
},
{
"input": 8,
"output": "Encoder Fault"
},
{
"input": 9,
"output": "Energy Management"
},
{
"input": 10,
"output": "ESTOP Was Actuated"
},
{
"input": 11,
"output": "EStopped"
},
{
"input": 12,
"output": "EStopped Locally"
},
{
"input": 13,
"output": "Extended Faulted"
},
{
"input": 14,
"output": "Full"
},
{
"input": 15,
"output": "Gaylord Start Pressed"
},
{
"input": 16,
"output": "Jam Fault"
},
{
"input": 17,
"output": "Jammed"
},
{
"input": 18,
"output": "Loading Allowed"
},
{
"input": 19,
"output": "Loading Not Allowed"
},
{
"input": 20,
"output": "Low Air Pressure Fault Was Present"
},
{
"input": 21,
"output": "Maintenance Mode"
},
{
"input": 22,
"output": "Conveyor Stopped In Maintenance Mode"
},
{
"input": 23,
"output": "Motor Faulted"
},
{
"input": 24,
"output": "Motor Was Faulted"
},
{
"input": 25,
"output": "Normal"
},
{
"input": 26,
"output": "Off Inactive"
},
{
"input": 27,
"output": "Open"
},
{
"input": 28,
"output": "PLC Ready To Run"
},
{
"input": 29,
"output": "Package Release Pressed"
},
{
"input": 30,
"output": "Power Branch Was Faulted"
},
{
"input": 31,
"output": "Pressed"
},
{
"input": 32,
"output": "Ready To Receive"
},
{
"input": 33,
"output": "Running"
},
{
"input": 34,
"output": "Started"
},
{
"input": 35,
"output": "Stopped"
},
{
"input": 36,
"output": "System Started"
},
{
"input": 37,
"output": "Unknown"
},
{
"input": 38,
"output": "VFD Fault"
},
{
"input": 39,
"output": "Conveyor Running In Power Saving Mode"
},
{
"input": 40,
"output": "Conveyor Jogging In Maintenance Mode"
},
{
"input": 41,
"output": "VFD Reset Required"
},
{
"input": 42,
"output": "Jam Reset Push Button Pressed"
},
{
"input": 43,
"output": "Start Push Button Pressed"
},
{
"input": 44,
"output": "Stop Push Button Pressed"
},
{
"input": 45,
"output": "No Container"
},
{
"input": 46,
"output": "Ready To Be Enabled"
},
{
"input": 47,
"output": "Half Full"
},
{
"input": 48,
"output": "Enabled"
},
{
"input": 49,
"output": "Tipper Faulted"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 100,
"width": 100
}
},
"root": {
"children": [
{
"meta": {
"name": "Camera"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.elements[1].elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.color"
},
"enabled": false,
"type": "property"
}
}
},
"props": {
"elements": [
{
"id": "defs963",
"name": "defs963",
"type": "defs"
},
{
"elements": [
{
"d": "M 108.69378,77.205299 A 30.372795,30.372799 0 0 1 78.350262,107.57808 30.372795,30.372799 0 0 1 47.948245,77.263855 30.372795,30.372799 0 0 1 78.23315,46.832627 a 30.372795,30.372799 0 0 1 30.4604,30.255561",
"fill": {
"paint": "#C4C4C4"
},
"id": "path2823",
"name": "path2823",
"stroke": {
"dasharray": "none",
"linejoin": "round",
"miterlimit": "4",
"paint": "#000000",
"width": "2.30899"
},
"style": {
"paintOrder": "markers fill stroke"
},
"type": "path"
},
{
"elements": [
{
"elements": [
{
"elements": [
{
"d": "m 308.1,277.95 c 0,35.7 -28.9,64.6 -64.6,64.6 -35.7,0 -64.6,-28.9 -64.6,-64.6 0,-35.7 28.9,-64.6 64.6,-64.6 35.7,0 64.6,28.9 64.6,64.6 z m 132.2,-161.9 c 25.8,0 46.7,20.9 46.7,46.7 v 122.4 103.8 c 0,27.5 -22.3,49.8 -49.8,49.8 H 49.8 C 22.3,438.75 0,416.45 0,388.95 v -103.9 -122.3 0 c 0,-25.8 20.9,-46.7 46.7,-46.7 h 93.4 l 4.4,-18.6 c 6.7,-28.8 32.4,-49.2 62,-49.2 h 74.1 c 29.6,0 55.3,20.4 62,49.2 l 4.3,18.6 z m -342.9,67.4 c 0,-12.9 -10.5,-23.4 -23.4,-23.4 -13,0 -23.5,10.5 -23.5,23.4 0,12.9 10.5,23.4 23.4,23.4 13,0.1 23.5,-10.4 23.5,-23.4 z m 261.3,94.5 c 0,-63.6 -51.6,-115.2 -115.2,-115.2 -63.6,0 -115.2,51.6 -115.2,115.2 0,63.6 51.6,115.2 115.2,115.2 63.6,0 115.2,-51.6 115.2,-115.2 z",
"id": "path954",
"name": "path954",
"type": "path"
}
],
"id": "g956",
"name": "g956",
"type": "group"
}
],
"id": "g958",
"name": "g958",
"transform": "matrix(0.10552692,0,0,0.1049851,58.573883,61.035557)",
"type": "group"
}
],
"id": "g2695",
"name": "g2695",
"transform": "matrix(0.78290367,0,0,0.78703031,12.345936,11.651649)",
"type": "group"
}
],
"id": "g3222",
"name": "g3222",
"transform": "matrix(0.45169465,0,0,0.44391375,-20.878644,-19.304276)",
"type": "group"
}
],
"fill": {
"paint": "#000000"
},
"viewBox": "0 0 29.22 29.22"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true,
"location": "top-left",
"style": {}
}
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.state} !\u003d \"Closed\",\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_camera_jams"
},
"type": "property"
}
}
},
"props": {
"aspectRatio": "1:1",
"mode": "percent",
"style": {
"cursor": "pointer"
}
},
"type": "ia.container.coord"
}
}

View File

@ -1,13 +1,13 @@
{
"custom": {
"FIO": true,
"color": "#C2C2C2",
"priority": "No Active Alarms",
"state": "Closed"
},
"params": {
"FIO": false,
"tagProps": [
"/system/mcm01/test",
"System/MCM01/FIO/PDP01_FIOM1",
"value",
"value",
"value",
@ -20,6 +20,21 @@
]
},
"propConfig": {
"custom.FIO": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": "\treturn value.split(\"_\")[-1].startswith(\"FIO\")",
"type": "script"
}
],
"type": "property"
},
"persistent": true
},
"custom.color": {
"binding": {
"config": {
@ -415,10 +430,6 @@
},
"persistent": true
},
"params.FIO": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
@ -452,7 +463,7 @@
"props.elements[2].elements[0].text": {
"binding": {
"config": {
"expression": "if({view.params.FIO}, \"FIO\", \"SIO\")"
"expression": "if({view.custom.FIO}, \"FIO\", \"SIO\")"
},
"type": "expr"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-15T11:56:39Z"
"timestamp": "2025-09-15T13:53:59Z"
},
"lastModificationSignature": "c1649548a986b1d40973d4c3f3d2b8aabd86b82300806ceeea54899f8c08a501"
"lastModificationSignature": "81a7a867db771951fb0ea320d555412015aa8d0891e084dc3d9e82568d75a537"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -1221,10 +1221,10 @@
"name": "UL15_1_TPE1"
},
"position": {
"height": 0.0231,
"width": 0.0255,
"x": 0.0262,
"y": 0.3945
"height": 0.0185,
"width": 0.0286,
"x": 0.0257,
"y": 0.3963
},
"props": {
"loading": {
@ -1242,15 +1242,12 @@
"value",
"value",
"value"
],
"width": "value"
]
},
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},
@ -1259,12 +1256,12 @@
"name": "UL15_2_TPE1"
},
"position": {
"height": 0.021,
"height": 0.0187,
"rotate": {
"angle": "60deg"
},
"width": 0.0394,
"x": 0.0336,
"width": 0.0286,
"x": 0.04,
"y": 0.3397
},
"props": {
@ -1553,9 +1550,7 @@
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},
@ -1569,7 +1564,7 @@
"angle": "90deg"
},
"width": 0.0286,
"x": 0.2997,
"x": 0.2987,
"y": 0.2779
},
"props": {
@ -1590,9 +1585,7 @@
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"overflow": "hidden"
},
"useDefaultViewHeight": true,
"useDefaultViewWidth": true
}
},
"type": "ia.display.view"
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-15T11:56:20Z"
"timestamp": "2025-09-15T12:02:09Z"
},
"lastModificationSignature": "188ee7008a302fdde7a25779773a75f1fc470d78eeb8140ebc260857183835af"
"lastModificationSignature": "2b1567b7015ef37235c60c5986a18bfab06730e798bacd15d9c8d17f4298e538"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-15T07:56:42Z"
"timestamp": "2025-09-15T13:57:33Z"
},
"lastModificationSignature": "d50b501f54e6370e9517ba722e373b646d9def8fd4a3ff45e354341e614e391d"
"lastModificationSignature": "e93048daf1aba987643002f45344dffe13b2a6cbe4815b4056006e05a7f8e2a1"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,9 +1,8 @@
{
"custom": {
"disconnected": false,
"priority": 0,
"state": 0,
"state_string": "Unknown"
"color": "value",
"priority": "No Active Alarms",
"state": "Closed"
},
"params": {
"tagProps": [
@ -20,21 +19,117 @@
]
},
"propConfig": {
"custom.disconnected": {
"custom.color": {
"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}/Color"
},
"transforms": [
{
"expression": "if(isNull({value}), False, {value})",
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#C2C2C2"
},
{
"input": 1,
"output": "#FF0000"
},
{
"input": 2,
"output": "#FFA500"
},
{
"input": 3,
"output": "#0008FF"
},
{
"input": 4,
"output": "#00FF00"
},
{
"input": 5,
"output": "#FFF700"
},
{
"input": 6,
"output": "#87CEEB"
},
{
"input": 7,
"output": "#90EE90"
},
{
"input": 8,
"output": "#964B00"
},
{
"input": 9,
"output": "#FFFFFF"
},
{
"input": 10,
"output": "#000000"
},
{
"input": 11,
"output": "#8B0000"
},
{
"input": 12,
"output": "#808080"
},
{
"input": 13,
"output": "#8B8000"
},
{
"input": 14,
"output": "#006400"
},
{
"input": 15,
"output": "#FFFFC5"
},
{
"input": 16,
"output": "#00008B"
},
{
"input": 17,
"output": "#FF7276"
},
{
"input": 18,
"output": "#556B2F"
},
{
"input": 19,
"output": "#B43434"
},
{
"input": 20,
"output": "#4682B4"
},
{
"input": 21,
"output": "#FFD700"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
@ -44,35 +139,49 @@
"custom.priority": {
"binding": {
"config": {
"path": "view.custom.state"
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Priority"
},
"transforms": [
{
"fallback": 0,
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "No Active Alarms"
},
{
"input": 1,
"output": 4
"output": "High"
},
{
"input": 2,
"output": 3
"output": "Medium"
},
{
"input": 3,
"output": 2
"output": "Low"
},
{
"input": 4,
"output": 1
"output": "Diagnostic"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "tag"
},
"persistent": true
},
@ -85,27 +194,226 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/State"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "Closed"
},
{
"input": 1,
"output": "Actuated"
},
{
"input": 2,
"output": "Communication Faulted"
},
{
"input": 3,
"output": "Conveyor Running In Maintenance Mode"
},
{
"input": 4,
"output": "Disabled"
},
{
"input": 5,
"output": "Disconnected"
},
{
"input": 6,
"output": "Stopped"
},
{
"input": 7,
"output": "Enabled Not Running"
},
{
"input": 8,
"output": "Encoder Fault"
},
{
"input": 9,
"output": "Energy Management"
},
{
"input": 10,
"output": "ESTOP Was Actuated"
},
{
"input": 11,
"output": "EStopped"
},
{
"input": 12,
"output": "EStopped Locally"
},
{
"input": 13,
"output": "Extended Faulted"
},
{
"input": 14,
"output": "Full"
},
{
"input": 15,
"output": "Gaylord Start Pressed"
},
{
"input": 16,
"output": "Jam Fault"
},
{
"input": 17,
"output": "Jammed"
},
{
"input": 18,
"output": "Loading Allowed"
},
{
"input": 19,
"output": "Loading Not Allowed"
},
{
"input": 20,
"output": "Low Air Pressure Fault Was Present"
},
{
"input": 21,
"output": "Maintenance Mode"
},
{
"input": 22,
"output": "Conveyor Stopped In Maintenance Mode"
},
{
"input": 23,
"output": "Motor Faulted"
},
{
"input": 24,
"output": "Motor Was Faulted"
},
{
"input": 25,
"output": "Normal"
},
{
"input": 26,
"output": "Off Inactive"
},
{
"input": 27,
"output": "Open"
},
{
"input": 28,
"output": "PLC Ready To Run"
},
{
"input": 29,
"output": "Package Release Pressed"
},
{
"input": 30,
"output": "Power Branch Was Faulted"
},
{
"input": 31,
"output": "Pressed"
},
{
"input": 32,
"output": "Ready To Receive"
},
{
"input": 33,
"output": "Running"
},
{
"input": 34,
"output": "Started"
},
{
"input": 35,
"output": "Stopped"
},
{
"input": 36,
"output": "System Started"
},
{
"input": 37,
"output": "Unknown"
},
{
"input": 38,
"output": "VFD Fault"
},
{
"input": 39,
"output": "Conveyor Running In Power Saving Mode"
},
{
"input": 40,
"output": "Conveyor Jogging In Maintenance Mode"
},
{
"input": 41,
"output": "VFD Reset Required"
},
{
"input": 42,
"output": "Jam Reset Push Button Pressed"
},
{
"input": 43,
"output": "Start Push Button Pressed"
},
{
"input": 44,
"output": "Stop Push Button Pressed"
},
{
"input": 45,
"output": "No Container"
},
{
"input": 46,
"output": "Ready To Be Enabled"
},
{
"input": 47,
"output": "Half Full"
},
{
"input": 48,
"output": "Enabled"
},
{
"input": 49,
"output": "Tipper Faulted"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "inout",
"persistent": true
@ -131,19 +439,9 @@
"props.elements[1].elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.color"
},
"enabled": false,
"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"
},
{
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "property"
}
}
@ -160,7 +458,7 @@
{
"d": "M 108.69378,77.205299 A 30.372795,30.372799 0 0 1 78.350262,107.57808 30.372795,30.372799 0 0 1 47.948245,77.263855 30.372795,30.372799 0 0 1 78.23315,46.832627 a 30.372795,30.372799 0 0 1 30.4604,30.255561",
"fill": {
"paint": "#00CC00"
"paint": "#C4C4C4"
},
"id": "path2823",
"name": "path2823",
@ -240,72 +538,10 @@
}
},
"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": {
"expression": "{view.custom.priority}"
},
"transforms": [
{
"fallback": "Alarms-Styles/NoAlarm",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
"outputType": "style-list",
"type": "map"
}
],
"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\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\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.state} !\u003d \"Closed\",\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority} + \", State: \" + {view.custom.state},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
@ -317,32 +553,6 @@
},
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"transforms": [
{
"fallback": "Disconnects/Device-Connected",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "Disconnects/Device-Disconnected"
},
{
"input": false,
"output": "Disconnects/Device-Connected"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-15T08:07:01Z"
"timestamp": "2025-09-15T12:07:03Z"
},
"lastModificationSignature": "43e3f626b6c20dde448d3309c5d49aa118a0bd5d98674707b96f44bd61c7761c"
"lastModificationSignature": "518c87ee2027cea44f3edb5f788df944ed6182525fbd8d19b01c4373e7821771"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

After

Width:  |  Height:  |  Size: 129 B

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-15T07:52:45Z"
"timestamp": "2025-09-15T13:47:56Z"
},
"lastModificationSignature": "102de4a32b1a50911297a5974535021522873add0c982eb5531c04c545079701"
"lastModificationSignature": "fda517ea800d9f23f61f66f817b9998fe8a30ae7e546673de087e8677192d95f"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

After

Width:  |  Height:  |  Size: 475 B

View File

@ -1,13 +1,13 @@
{
"custom": {
"FIO": true,
"color": "#C2C2C2",
"priority": "No Active Alarms",
"state": "Closed"
},
"params": {
"FIO": false,
"tagProps": [
"/system/mcm01/test",
"System/MCM01/FIO/PDP01_FIOM1",
"value",
"value",
"value",
@ -20,6 +20,21 @@
]
},
"propConfig": {
"custom.FIO": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": "\treturn value.split(\"_\")[-1].startswith(\"FIO\")",
"type": "script"
}
],
"type": "property"
},
"persistent": true
},
"custom.color": {
"binding": {
"config": {
@ -415,10 +430,6 @@
},
"persistent": true
},
"params.FIO": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
@ -452,7 +463,7 @@
"props.elements[2].elements[0].text": {
"binding": {
"config": {
"expression": "if({view.params.FIO}, \"FIO\", \"SIO\")"
"expression": "if({view.custom.FIO}, \"FIO\", \"SIO\")"
},
"type": "expr"
}

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-12T15:47:25Z"
"timestamp": "2025-09-15T13:51:05Z"
},
"lastModificationSignature": "acc4b137708a157f0326cb0e7e51fe7066f548a187afefada5ae7accbf4aeb82"
"lastModificationSignature": "4e34cd644bc7b4e3d1cdae2d12257566f0bbd89f8d52bce3b946fddbe3014795"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -3,7 +3,8 @@
"PLC": "MCM01",
"device": "UL14_1_SIO1",
"showTags": true,
"state": "Closed"
"state": "Closed",
"view": "autStand/Equipment/IO_Block"
},
"params": {
"tagProps": [
@ -49,6 +50,10 @@
],
"type": "property"
},
"onChange": {
"enabled": null,
"script": "\tname \u003d self.view.custom.device\n\tdevice \u003d name.split(\"_\")[-1]\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027PE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027), \n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if device.startswith(key):\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
},
"persistent": true
},
"custom.showTags": {
@ -293,6 +298,9 @@
},
"persistent": true
},
"custom.view": {
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
@ -832,11 +840,23 @@
"x": 37.33,
"y": 23
},
"props": {
"params": {
"name": "Red"
"propConfig": {
"props.params.tagProps": {
"binding": {
"config": {
"path": "view.params.tagProps"
},
"type": "property"
}
},
"path": "autStand/Equipment/Beacon"
"props.path": {
"binding": {
"config": {
"path": "view.custom.view"
},
"type": "property"
}
}
},
"type": "ia.display.view"
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-13T12:46:35Z"
"timestamp": "2025-09-15T13:33:59Z"
},
"lastModificationSignature": "1c6b4c478b8646d9a8b643ab6298d6e1ed8a9f8ac8f99076f192424bbd773a0d"
"lastModificationSignature": "705eee9220b4fffa6b94445ce4dca9e3803d54df852a83dfcd7a5913f9b4c18a"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -2,7 +2,7 @@
"custom": {
"PLC": "MCM01",
"device": "UL15_1",
"maintance_mode": true,
"maintance_mode": false,
"showTags": true,
"state": "Actuated"
},