some changes
4999
IMAGE_SERVER/MCM08.svg
Normal file
|
After Width: | Height: | Size: 238 KiB |
@ -1,5 +1,16 @@
|
||||
{
|
||||
"custom": {},
|
||||
"custom": {
|
||||
"devices_filter": {
|
||||
"show_buttons": true,
|
||||
"show_camera_jams": true,
|
||||
"show_fio": true,
|
||||
"show_gateways": true,
|
||||
"show_inductions": true,
|
||||
"show_pes": true,
|
||||
"show_safety": true
|
||||
},
|
||||
"fc": "TPA8"
|
||||
},
|
||||
"propConfig": {
|
||||
"props.auth": {
|
||||
"access": "PRIVATE",
|
||||
@ -63,11 +74,11 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"address": "[0:0:0:0:0:0:0:1]",
|
||||
"address": "127.0.0.1",
|
||||
"device": {},
|
||||
"geolocation": {},
|
||||
"locale": "en-US",
|
||||
"offline": {},
|
||||
"timeZoneId": "America/Los_Angeles"
|
||||
"timeZoneId": "Asia/Tbilisi"
|
||||
}
|
||||
}
|
||||
@ -7,10 +7,10 @@
|
||||
"props.json"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "53ccc198eeaf547575e3fcdf55ffb434c1c05d83ab7de48f1c6092fd4c8ea970",
|
||||
"lastModificationSignature": "553f31339fe7c5e99de5476c70406e5b0429c370a5e0c5b5446404efd299537d",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-29T12:09:46Z"
|
||||
"timestamp": "2026-03-03T11:29:46Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "91fd69522cf3ea7b0b9cadf02fbbdd7adb47227c83b609d2dacd6ecb0b54d564",
|
||||
"lastModificationSignature": "5a1e4db5627e6d877a4b4157b9aefaee8e8d436dc36511b6cd51a8d8bf325124",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-17T18:10:47Z"
|
||||
"timestamp": "2026-03-03T11:48:03Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 44 KiB |
@ -25,13 +25,59 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"params": {},
|
||||
"params": {
|
||||
"colours": {
|
||||
"Fallback": "#00FF00",
|
||||
"colour_impaired": false,
|
||||
"state0": "#8C8C8C",
|
||||
"state1": "#FF0000",
|
||||
"state2": "#FF8000",
|
||||
"state3": "#FFFF00",
|
||||
"state4": "#007EFC",
|
||||
"state5": "#00CC00",
|
||||
"state6": "#CCCCFF"
|
||||
},
|
||||
"command_auth": {
|
||||
"auth_time": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1772537304592
|
||||
],
|
||||
"$ts": 1674052360661
|
||||
},
|
||||
"auth_timeout": 0,
|
||||
"enabled": false,
|
||||
"timeout_sp": 500
|
||||
},
|
||||
"devices_filter": {
|
||||
"show_buttons": true,
|
||||
"show_camera_jams": true,
|
||||
"show_fio": true,
|
||||
"show_gateways": true,
|
||||
"show_inductions": true,
|
||||
"show_pes": true,
|
||||
"show_safety": true
|
||||
}
|
||||
},
|
||||
"propConfig": {
|
||||
"custom.Update": {
|
||||
"persistent": true
|
||||
},
|
||||
"custom.activityLogger": {
|
||||
"persistent": true
|
||||
},
|
||||
"params.colours": {
|
||||
"paramDirection": "input",
|
||||
"persistent": true
|
||||
},
|
||||
"params.command_auth": {
|
||||
"paramDirection": "input",
|
||||
"persistent": true
|
||||
},
|
||||
"params.devices_filter": {
|
||||
"paramDirection": "input",
|
||||
"persistent": true
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
@ -211,12 +257,36 @@
|
||||
"value": "MCM07"
|
||||
},
|
||||
{
|
||||
"label": "SMC",
|
||||
"value": "SMC"
|
||||
"label": "MCM08",
|
||||
"value": "MCM08"
|
||||
},
|
||||
{
|
||||
"label": "CMC",
|
||||
"value": "CMC"
|
||||
"label": "MCM09",
|
||||
"value": "MCM09"
|
||||
},
|
||||
{
|
||||
"label": "MCM10",
|
||||
"value": "MCM10"
|
||||
},
|
||||
{
|
||||
"label": "MCM11",
|
||||
"value": "MCM11"
|
||||
},
|
||||
{
|
||||
"label": "MCM12",
|
||||
"value": "MCM12"
|
||||
},
|
||||
{
|
||||
"label": "MCM13",
|
||||
"value": "MCM13"
|
||||
},
|
||||
{
|
||||
"label": "MCM14",
|
||||
"value": "MCM14"
|
||||
},
|
||||
{
|
||||
"label": "MCM15",
|
||||
"value": "MCM15"
|
||||
}
|
||||
],
|
||||
"placeholder": {
|
||||
@ -1212,17 +1282,17 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1768672910731
|
||||
1772537550931
|
||||
],
|
||||
"$ts": 1768672910729
|
||||
"$ts": 1772537550931
|
||||
},
|
||||
"startDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1768672910730
|
||||
1772537550931
|
||||
],
|
||||
"$ts": 1768671110729
|
||||
"$ts": 1772535750931
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
@ -1389,7 +1459,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Jan 17, 2026 9:23 AM",
|
||||
"formattedValue": "Mar 3, 2026 3:02 PM",
|
||||
"minDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
@ -1481,7 +1551,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Jan 17, 2026 9:53 AM",
|
||||
"formattedValue": "Mar 3, 2026 3:32 PM",
|
||||
"style": {
|
||||
"margin": 15
|
||||
},
|
||||
@ -1489,9 +1559,9 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1768672910731
|
||||
1772537550931
|
||||
],
|
||||
"$ts": 1768672910729
|
||||
"$ts": 1772537550931
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
@ -1657,12 +1727,36 @@
|
||||
"value": "MCM07"
|
||||
},
|
||||
{
|
||||
"label": "SMC",
|
||||
"value": "SMC"
|
||||
"label": "MCM08",
|
||||
"value": "MCM08"
|
||||
},
|
||||
{
|
||||
"label": "CMC",
|
||||
"value": "CMC"
|
||||
"label": "MCM09",
|
||||
"value": "MCM09"
|
||||
},
|
||||
{
|
||||
"label": "MCM10",
|
||||
"value": "MCM10"
|
||||
},
|
||||
{
|
||||
"label": "MCM11",
|
||||
"value": "MCM11"
|
||||
},
|
||||
{
|
||||
"label": "MCM12",
|
||||
"value": "MCM12"
|
||||
},
|
||||
{
|
||||
"label": "MCM13",
|
||||
"value": "MCM13"
|
||||
},
|
||||
{
|
||||
"label": "MCM14",
|
||||
"value": "MCM14"
|
||||
},
|
||||
{
|
||||
"label": "MCM15",
|
||||
"value": "MCM15"
|
||||
}
|
||||
],
|
||||
"placeholder": {
|
||||
@ -3055,7 +3149,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Dec 12, 2025 4:54 AM",
|
||||
"formattedValue": "Dec 12, 2025 4:54 PM",
|
||||
"minDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
@ -3147,7 +3241,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"formattedValue": "Dec 12, 2025 5:24 AM",
|
||||
"formattedValue": "Dec 12, 2025 5:24 PM",
|
||||
"style": {
|
||||
"margin": 15
|
||||
},
|
||||
@ -3333,12 +3427,36 @@
|
||||
"value": "MCM07"
|
||||
},
|
||||
{
|
||||
"label": "SMC",
|
||||
"value": "SMC"
|
||||
"label": "MCM08",
|
||||
"value": "MCM08"
|
||||
},
|
||||
{
|
||||
"label": "CMC",
|
||||
"value": "CMC"
|
||||
"label": "MCM09",
|
||||
"value": "MCM09"
|
||||
},
|
||||
{
|
||||
"label": "MCM10",
|
||||
"value": "MCM10"
|
||||
},
|
||||
{
|
||||
"label": "MCM11",
|
||||
"value": "MCM11"
|
||||
},
|
||||
{
|
||||
"label": "MCM12",
|
||||
"value": "MCM12"
|
||||
},
|
||||
{
|
||||
"label": "MCM13",
|
||||
"value": "MCM13"
|
||||
},
|
||||
{
|
||||
"label": "MCM14",
|
||||
"value": "MCM14"
|
||||
},
|
||||
{
|
||||
"label": "MCM15",
|
||||
"value": "MCM15"
|
||||
}
|
||||
],
|
||||
"placeholder": {
|
||||
|
||||
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "8fdfeac828e3e99f1e9e10d191c3693a5d967acb22ecc3ad16750b969a2e98de",
|
||||
"lastModificationSignature": "7f027393e6dd8b9fee4e9bb4919938ad92255a65c858566975fd9c01bc59734f",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-13T09:26:26Z"
|
||||
"timestamp": "2026-03-03T11:49:14Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 49 KiB |
@ -136,171 +136,6 @@
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"meta": {
|
||||
"name": "Icon"
|
||||
},
|
||||
"position": {
|
||||
"basis": "58px"
|
||||
},
|
||||
"props": {
|
||||
"color": "#4D9CCE",
|
||||
"path": "material/menu_book",
|
||||
"style": {
|
||||
"margin": "10px",
|
||||
"marginTop": "50px"
|
||||
}
|
||||
},
|
||||
"type": "ia.display.icon"
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"name": "Label"
|
||||
},
|
||||
"position": {
|
||||
"basis": "100px"
|
||||
},
|
||||
"props": {
|
||||
"text": "User Guide",
|
||||
"textStyle": {
|
||||
"color": "#000000",
|
||||
"fontFamily": "Arial",
|
||||
"fontSize": "22px",
|
||||
"fontWeight": "bold",
|
||||
"marginTop": "",
|
||||
"textAlign": "center"
|
||||
}
|
||||
},
|
||||
"type": "ia.display.label"
|
||||
}
|
||||
],
|
||||
"custom": {
|
||||
"buttonid": "help/user_guide"
|
||||
},
|
||||
"events": {
|
||||
"dom": {
|
||||
"onClick": [
|
||||
{
|
||||
"config": {
|
||||
"script": "\tbuttonid \u003d self.custom.buttonid\n\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)"
|
||||
},
|
||||
"scope": "G",
|
||||
"type": "script"
|
||||
},
|
||||
{
|
||||
"config": {
|
||||
"newTab": true,
|
||||
"url": "https://w.amazon.com/bin/view/EURME/MAP/Product_Management/SCADA2/Resources/UserGuide"
|
||||
},
|
||||
"scope": "C",
|
||||
"type": "nav"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "UserGuideCard"
|
||||
},
|
||||
"position": {
|
||||
"basis": "400px"
|
||||
},
|
||||
"props": {
|
||||
"direction": "column",
|
||||
"style": {
|
||||
"backgroundColor": "#F2F3F4",
|
||||
"classes": "FadeInFast, background, background-none",
|
||||
"cursor": "pointer",
|
||||
"marginBottom": "10px",
|
||||
"marginRight": "50px",
|
||||
"marginTop": "10px"
|
||||
}
|
||||
},
|
||||
"type": "ia.container.flex"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
"meta": {
|
||||
"name": "Icon"
|
||||
},
|
||||
"position": {
|
||||
"basis": "58px"
|
||||
},
|
||||
"props": {
|
||||
"color": "#4D9CCE",
|
||||
"path": "material/developer_mode",
|
||||
"style": {
|
||||
"margin": "10px",
|
||||
"marginTop": "50px"
|
||||
}
|
||||
},
|
||||
"type": "ia.display.icon"
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"name": "Label"
|
||||
},
|
||||
"position": {
|
||||
"basis": "100px"
|
||||
},
|
||||
"props": {
|
||||
"text": "Developer Guide",
|
||||
"textStyle": {
|
||||
"color": "#000000",
|
||||
"fontFamily": "Arial",
|
||||
"fontSize": "22px",
|
||||
"fontWeight": "bold",
|
||||
"textAlign": "center"
|
||||
}
|
||||
},
|
||||
"type": "ia.display.label"
|
||||
}
|
||||
],
|
||||
"custom": {
|
||||
"buttonid": "help/dev_guide"
|
||||
},
|
||||
"events": {
|
||||
"dom": {
|
||||
"onClick": [
|
||||
{
|
||||
"config": {
|
||||
"script": "\tbuttonid \u003d self.custom.buttonid\n\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)"
|
||||
},
|
||||
"scope": "G",
|
||||
"type": "script"
|
||||
},
|
||||
{
|
||||
"config": {
|
||||
"newTab": true,
|
||||
"url": "https://w.amazon.com/bin/view/EURME/MAP/Projects/Amazon_SCADA/Expanding_BU_and_New_Regions_SCADA/AMZL/DeveloperGuide/"
|
||||
},
|
||||
"scope": "C",
|
||||
"type": "nav"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "DevelopmentGuideCard"
|
||||
},
|
||||
"position": {
|
||||
"basis": "400px"
|
||||
},
|
||||
"props": {
|
||||
"direction": "column",
|
||||
"style": {
|
||||
"backgroundColor": "#F2F3F4",
|
||||
"classes": "FadeInFast, background, background-none",
|
||||
"cursor": "pointer",
|
||||
"marginBottom": "10px",
|
||||
"marginRight": "50px",
|
||||
"marginTop": "10px"
|
||||
}
|
||||
},
|
||||
"type": "ia.container.flex"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
@ -459,29 +294,12 @@
|
||||
"classes": "FadeInFast, background, background-none",
|
||||
"cursor": "pointer",
|
||||
"marginBottom": "10px",
|
||||
"marginRight": "50px",
|
||||
"marginTop": "10px"
|
||||
}
|
||||
},
|
||||
"type": "ia.container.flex"
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"name": "CardsTopRow"
|
||||
},
|
||||
"position": {
|
||||
"basis": "280px"
|
||||
},
|
||||
"props": {
|
||||
"justify": "center",
|
||||
"style": {
|
||||
"marginBottom": "20px",
|
||||
"marginTop": "20px"
|
||||
}
|
||||
},
|
||||
"type": "ia.container.flex"
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
{
|
||||
@ -575,7 +393,7 @@
|
||||
},
|
||||
"props": {
|
||||
"color": "#4D9CCE",
|
||||
"path": "material/playlist_add_check",
|
||||
"path": "material/local_library",
|
||||
"style": {
|
||||
"margin": "10px",
|
||||
"marginTop": "50px"
|
||||
@ -591,7 +409,7 @@
|
||||
"basis": "100px"
|
||||
},
|
||||
"props": {
|
||||
"text": "Commissioning Tool Guide",
|
||||
"text": "Legend",
|
||||
"textStyle": {
|
||||
"color": "#000000",
|
||||
"fontFamily": "Arial",
|
||||
@ -604,7 +422,7 @@
|
||||
}
|
||||
],
|
||||
"custom": {
|
||||
"buttonid": "help/commission_guide"
|
||||
"buttonid": "help/symbol_library"
|
||||
},
|
||||
"events": {
|
||||
"dom": {
|
||||
@ -618,8 +436,8 @@
|
||||
},
|
||||
{
|
||||
"config": {
|
||||
"newTab": true,
|
||||
"url": "https://w.amazon.com/bin/view/EURME/MAP/Product_Management/SCADA2/Resources/CommissioningToolUserGuide"
|
||||
"params": {},
|
||||
"view": "Symbol-Views/Symbol Library"
|
||||
},
|
||||
"scope": "C",
|
||||
"type": "nav"
|
||||
@ -628,7 +446,7 @@
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Commissioning Tool guide"
|
||||
"name": "Legend"
|
||||
},
|
||||
"position": {
|
||||
"basis": "400px"
|
||||
@ -657,7 +475,7 @@
|
||||
},
|
||||
"props": {
|
||||
"color": "#4D9CCE",
|
||||
"path": "material/local_library",
|
||||
"path": "material/remove_red_eye",
|
||||
"style": {
|
||||
"margin": "10px",
|
||||
"marginTop": "50px"
|
||||
@ -673,7 +491,7 @@
|
||||
"basis": "100px"
|
||||
},
|
||||
"props": {
|
||||
"text": "Symbol Library",
|
||||
"text": "Banner Q5X Sensors",
|
||||
"textStyle": {
|
||||
"color": "#000000",
|
||||
"fontFamily": "Arial",
|
||||
@ -701,7 +519,7 @@
|
||||
{
|
||||
"config": {
|
||||
"params": {},
|
||||
"view": "Symbol-Views/Symbol-Library-Views/Symbol-Icons-View"
|
||||
"view": "Symbol-Views/Banner Q5X Sensors"
|
||||
},
|
||||
"scope": "C",
|
||||
"type": "nav"
|
||||
@ -710,7 +528,7 @@
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Symbol Library"
|
||||
"name": "Banner Q5X Sensors"
|
||||
},
|
||||
"position": {
|
||||
"basis": "400px"
|
||||
@ -730,14 +548,15 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"name": "CardsBottomRow"
|
||||
"name": "CardsTopRow"
|
||||
},
|
||||
"position": {
|
||||
"basis": "260px"
|
||||
"basis": "280px"
|
||||
},
|
||||
"props": {
|
||||
"justify": "center",
|
||||
"style": {
|
||||
"marginBottom": "20px",
|
||||
"marginTop": "20px"
|
||||
}
|
||||
},
|
||||
@ -752,7 +571,8 @@
|
||||
"grow": 1
|
||||
},
|
||||
"props": {
|
||||
"direction": "column"
|
||||
"direction": "column",
|
||||
"justify": "center"
|
||||
},
|
||||
"type": "ia.container.flex"
|
||||
}
|
||||
|
||||
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "4ef9bfde498a99283ddef4b1a9b9965f04f6b0535081fb26a7a0414bdfb3e4e4",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-11-13T18:09:43Z"
|
||||
},
|
||||
"lastModificationSignature": "d66e293388335aba243c1daa698d0d28194334a33d0affa9cbb3930a84008479"
|
||||
"timestamp": "2026-03-03T12:20:08Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -94,7 +94,20 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"name": "root"
|
||||
"name": "root",
|
||||
"tooltip": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"propConfig": {
|
||||
"meta.tooltip.text": {
|
||||
"binding": {
|
||||
"config": {
|
||||
"expression": "\"Navigate to \" + {view.params.text}"
|
||||
},
|
||||
"type": "expr"
|
||||
}
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"alignContent": "flex-start",
|
||||
|
||||
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "269e20a8f3a094e4dda533ff27215e4fa75fe23acd0a2ee5c929c30e5304746c",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-12-01T15:01:01Z"
|
||||
},
|
||||
"lastModificationSignature": "fc7017268e23c03b42689598e57983c55ef8d725e2b2e154c751c4e879756941"
|
||||
"timestamp": "2026-03-03T11:55:10Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -172,7 +172,7 @@
|
||||
"meta.visible": {
|
||||
"binding": {
|
||||
"config": {
|
||||
"path": "session.custom.alarm_filter.show_camera_jams"
|
||||
"path": "session.custom.devices_filter.show_camera_jams"
|
||||
},
|
||||
"type": "property"
|
||||
}
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"view.json",
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "2c853cff8fdba920c45e1cfa31a32c1d0f64d64b9d18f214a4cacffaedc67027",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-03-03T11:26:04Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 122 KiB |
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "8d5c9a98fb21b71722d8a5b9f936d44786a3f9a2fb35e21c3d6fa03b3ac9e3bc",
|
||||
"lastModificationSignature": "8362971bd195edce46b53af576682bf6d6e3699bdf91f06192bb10dc1db6c301",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-17T17:17:23Z"
|
||||
"timestamp": "2026-03-03T12:30:15Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 130 KiB |
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "2fb1ab51ed2efbe2259e19e6986c900cadafe8d372c649dce28c5388cbc02256",
|
||||
"lastModificationSignature": "c38668ff9cc3eddc6cc6db3d8dca1552aad48d9ad33b46df83a45ebd837ef825",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-13T10:40:07Z"
|
||||
"timestamp": "2026-03-03T12:02:02Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 122 KiB |
@ -8,10 +8,10 @@
|
||||
"thumbnail.png"
|
||||
],
|
||||
"attributes": {
|
||||
"lastModificationSignature": "7da06415b1dc526ccbf3fe2efa8003d2593b36f0d0af482e740c7195671bf76a",
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-12-23T13:31:13Z"
|
||||
},
|
||||
"lastModificationSignature": "b3fd557d14d41050d3b0b92d6fb91f3bfd197441f1886c52225f7e7b765762ed"
|
||||
"timestamp": "2026-03-03T12:10:16Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 60 KiB |
@ -12,7 +12,7 @@
|
||||
}
|
||||
},
|
||||
"params": {
|
||||
"Tab_ID": 0,
|
||||
"Tab_ID": 9,
|
||||
"Table": "Statistics"
|
||||
},
|
||||
"propConfig": {
|
||||
@ -88555,6 +88555,7 @@
|
||||
}
|
||||
},
|
||||
"props": {
|
||||
"currentTabIndex": 9,
|
||||
"menuStyle": {
|
||||
"backgroundColor": "#FFFFFFBD",
|
||||
"fontSize": "1.0vmin",
|
||||
@ -88649,10 +88650,6 @@
|
||||
{
|
||||
"label": "Percentage",
|
||||
"value": "Percentage"
|
||||
},
|
||||
{
|
||||
"label": "Rate",
|
||||
"value": "Rate"
|
||||
}
|
||||
],
|
||||
"style": {
|
||||
@ -92376,18 +92373,18 @@
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1766496664067
|
||||
1772539493002
|
||||
],
|
||||
"$ts": 1766496664067
|
||||
"$ts": 1772539492999
|
||||
},
|
||||
"rollingWindow": 30,
|
||||
"startDate": {
|
||||
"$": [
|
||||
"ts",
|
||||
192,
|
||||
1766496664067
|
||||
1772539493001
|
||||
],
|
||||
"$ts": 1766494875166
|
||||
"$ts": 1772537692999
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
@ -92560,7 +92557,7 @@
|
||||
},
|
||||
"props": {
|
||||
"dismissOnSelect": false,
|
||||
"formattedValue": "Dec 23, 2025 5:01 PM",
|
||||
"formattedValue": "Mar 3, 2026 3:34 PM",
|
||||
"formattedValues": {
|
||||
"date": "Mar 26, 2021",
|
||||
"datetime": "Mar 26, 2021 12:00 AM",
|
||||
@ -92672,7 +92669,7 @@
|
||||
},
|
||||
"props": {
|
||||
"dismissOnSelect": false,
|
||||
"formattedValue": "Dec 23, 2025 5:31 PM",
|
||||
"formattedValue": "Mar 3, 2026 4:04 PM",
|
||||
"formattedValues": {
|
||||
"date": "Mar 29, 2021",
|
||||
"datetime": "Mar 29, 2021 1:37 PM",
|
||||
|
||||
@ -6,11 +6,12 @@ SELECT
|
||||
COALESCE(c.Fluid_Inbound_Merge_5,0) + COALESCE(c.Fluid_Inbound_Merge_6,0) +
|
||||
COALESCE(c.Fluid_Inbound_Merge_7,0) + COALESCE(c.Non_Con_Merge,0) +
|
||||
COALESCE(c.NCP,0) + COALESCE(c.Bulk_Inbound_MCM04,0) +
|
||||
COALESCE(c.Fluid_Outbound_MCM04,0) + COALESCE(c.Problem_Solve_MCM04,0) +
|
||||
COALESCE(c.Fluid_Outbound_MCM04,0) + COALESCE(c.Problem_Solve_MCM14,0) +
|
||||
COALESCE(c.Bulk_Inbound_MCM05,0) + COALESCE(c.Fluid_Outbound_MCM05,0) +
|
||||
COALESCE(c.Problem_Solve_MCM05,0) + COALESCE(c.NCS1,0) + COALESCE(c.NCS2,0) +
|
||||
COALESCE(c.BYB,0) + COALESCE(c.BYA,0) + COALESCE(c.BYC,0) + COALESCE(c.BYD,0) +
|
||||
COALESCE(c.Chutes_MCM04,0) + COALESCE(c.Chutes_MCM05,0) AS Total,
|
||||
COALESCE(c.Problem_Solve_MCM15,0) + COALESCE(c.NCS1,0) + COALESCE(c.NCS2,0) +
|
||||
COALESCE(c.BYB,0) + COALESCE(c.BYA,0) + COALESCE(c.BYC,0) +
|
||||
COALESCE(c.BYD,0) AS Total,
|
||||
|
||||
COALESCE(c.Fluid_Inbound_Merge_1,0) AS Fluid_Inbound_Merge_1,
|
||||
COALESCE(c.Fluid_Inbound_Merge_2,0) AS Fluid_Inbound_Merge_2,
|
||||
COALESCE(c.Fluid_Inbound_Merge_3,0) AS Fluid_Inbound_Merge_3,
|
||||
@ -22,18 +23,17 @@ SELECT
|
||||
COALESCE(c.NCP,0) AS NCP,
|
||||
COALESCE(c.Bulk_Inbound_MCM04,0) AS Bulk_Inbound_MCM04,
|
||||
COALESCE(c.Fluid_Outbound_MCM04,0) AS Fluid_Outbound_MCM04,
|
||||
COALESCE(c.Problem_Solve_MCM04,0) AS Problem_Solve_MCM04,
|
||||
COALESCE(c.Problem_Solve_MCM14,0) AS Problem_Solve_MCM14,
|
||||
COALESCE(c.Bulk_Inbound_MCM05,0) AS Bulk_Inbound_MCM05,
|
||||
COALESCE(c.Fluid_Outbound_MCM05,0) AS Fluid_Outbound_MCM05,
|
||||
COALESCE(c.Problem_Solve_MCM05,0) AS Problem_Solve_MCM05,
|
||||
COALESCE(c.Problem_Solve_MCM15,0) AS Problem_Solve_MCM15,
|
||||
COALESCE(c.NCS1,0) AS NCS1,
|
||||
COALESCE(c.NCS2,0) AS NCS2,
|
||||
COALESCE(c.BYB,0) AS BYB,
|
||||
COALESCE(c.BYA,0) AS BYA,
|
||||
COALESCE(c.BYC,0) AS BYC,
|
||||
COALESCE(c.BYD,0) AS BYD,
|
||||
COALESCE(c.Chutes_MCM04,0) AS Chutes_MCM04,
|
||||
COALESCE(c.Chutes_MCM05,0) AS Chutes_MCM05
|
||||
COALESCE(c.BYD,0) AS BYD
|
||||
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
@ -48,18 +48,16 @@ LEFT JOIN (
|
||||
SUM(NCP = 1) AS NCP,
|
||||
SUM(Bulk_Inbound_MCM04 = 1) AS Bulk_Inbound_MCM04,
|
||||
SUM(Fluid_Outbound_MCM04 = 1) AS Fluid_Outbound_MCM04,
|
||||
SUM(Problem_Solve_MCM04 = 1) AS Problem_Solve_MCM04,
|
||||
SUM(Problem_Solve_MCM14 = 1) AS Problem_Solve_MCM14,
|
||||
SUM(Bulk_Inbound_MCM05 = 1) AS Bulk_Inbound_MCM05,
|
||||
SUM(Fluid_Outbound_MCM05 = 1) AS Fluid_Outbound_MCM05,
|
||||
SUM(Problem_Solve_MCM05 = 1) AS Problem_Solve_MCM05,
|
||||
SUM(Problem_Solve_MCM15 = 1) AS Problem_Solve_MCM15,
|
||||
SUM(NCS1 = 1) AS NCS1,
|
||||
SUM(NCS2 = 1) AS NCS2,
|
||||
SUM(BYB = 1) AS BYB,
|
||||
SUM(BYA = 1) AS BYA,
|
||||
SUM(BYC = 1) AS BYC,
|
||||
SUM(BYD = 1) AS BYD,
|
||||
SUM(Chutes_MCM04 = 1) AS Chutes_MCM04,
|
||||
SUM(Chutes_MCM05 = 1) AS Chutes_MCM05
|
||||
SUM(BYD = 1) AS BYD
|
||||
FROM jam_area
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
) AS c ON 1=1;
|
||||
@ -18,7 +18,7 @@
|
||||
"cacheEnabled": false,
|
||||
"database": "MariaDB",
|
||||
"fallbackEnabled": false,
|
||||
"lastModificationSignature": "cdb4c3d700445a6915630b88607d95727ed339f12ddcf1d6b37f108b2e806f65",
|
||||
"lastModificationSignature": "5b1c3498f0b5369b9c3756937f221bf5a543d5d2a195307dd58ac2afc7b610a8",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
@ -27,7 +27,7 @@
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-11-09T13:20:40Z"
|
||||
"timestamp": "2026-03-03T12:13:38Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
|
||||
@ -1,58 +0,0 @@
|
||||
def onTagChange(initialChange, newValue, previousValue, event, executionCount):
|
||||
# ============================================================================
|
||||
# Gateway Tag Change Script - Induction Statistics
|
||||
# Triggers on: Induction_X/* tags (diTotal_* statistics)
|
||||
# Logic:
|
||||
# - Only act when:
|
||||
# * not initialChange
|
||||
# * quality is good
|
||||
# * quality transition from bad to good is ignored
|
||||
# - Then:
|
||||
# * Read induction name
|
||||
# * INSERT into induction_data with appropriate column
|
||||
# ============================================================================
|
||||
|
||||
DB_NAME = "MariaDB"
|
||||
import system
|
||||
|
||||
# ============================================================================
|
||||
# ENTRY BLOCK – runs on every configured tag change
|
||||
# Objects: event, initialChange, currentValue, previousValue, executionCount
|
||||
# ============================================================================
|
||||
|
||||
tagPath = str(event.getTagPath())
|
||||
|
||||
# Extract tag name from path (e.g., "diTotal_Double_Carrier" from full path)
|
||||
tagName = tagPath.split("/")[-1]
|
||||
|
||||
# Handle diTotal_Double_Carrier
|
||||
if tagName == "diTotal_Double_Carrier":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sInduction_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO induction_data (t_stamp, sInduction_Name, diTotal_Double_Carrier)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("InductionStatistics").error("double_carrier: %s" % e)
|
||||
|
||||
# Handle diTotal_Single_Carrier
|
||||
if tagName == "diTotal_Single_Carrier":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sInduction_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO induction_data (t_stamp, sInduction_Name, diTotal_Single_Carrier)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("InductionStatistics").error("single_carrier: %s" % e)
|
||||
|
||||
|
||||
@ -1,52 +0,0 @@
|
||||
{
|
||||
"scope": "G",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"onTagChange.py"
|
||||
],
|
||||
"attributes": {
|
||||
"changeTypes": [
|
||||
"ValueChange",
|
||||
"QualityChange",
|
||||
"TimestampChange"
|
||||
],
|
||||
"lastModificationSignature": "9eb1fa079d3a3493f190db573dd2d306069eb50f37f4abc548620f23ec2ee4bc",
|
||||
"paths": [
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_000/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_001/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_002/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_003/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_004/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_005/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_006/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_007/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_008/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_009/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_010/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_011/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_012/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_013/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_014/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_015/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_016/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_017/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_018/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_019/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_020/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_021/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_022/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_023/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_024/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_025/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_026/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Induction/Induction_027/*"
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-17T17:34:01Z"
|
||||
},
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
@ -1,127 +0,0 @@
|
||||
def onTagChange(initialChange, newValue, previousValue, event, executionCount):
|
||||
# ============================================================================
|
||||
# Gateway Tag Change Script - MTN6_SCADA/Item Change
|
||||
# Triggers on: Item_000..Item_100 bData_Ready (listed in Tags tab)
|
||||
# Logic:
|
||||
# - Only act when:
|
||||
# * not initialChange
|
||||
# * quality is good
|
||||
# * tag ends with /bData_Ready
|
||||
# * rising edge 0 -> 1
|
||||
# - Then:
|
||||
# * Read sibling tags
|
||||
# * INSERT into item_data
|
||||
# * Reset bData_Ready to 0
|
||||
# ============================================================================
|
||||
|
||||
DB_NAME = "MariaDB"
|
||||
import system
|
||||
|
||||
# ============================================================================
|
||||
# ENTRY BLOCK – runs on every configured tag change
|
||||
# Objects: event, initialChange, newValue, previousValue, executionCount
|
||||
# ============================================================================
|
||||
|
||||
logger = system.util.getLogger("ItemDataGateway")
|
||||
|
||||
tag_path = str(event.getTagPath())
|
||||
|
||||
# Quality check
|
||||
quality_ok = newValue.getQuality().isGood()
|
||||
|
||||
# Rising edge detection 0 -> 1 (defensive)
|
||||
try:
|
||||
prev_raw = previousValue.getValue()
|
||||
cur_raw = newValue.getValue()
|
||||
|
||||
prev_val = int(prev_raw) if prev_raw not in (None, "") else 0
|
||||
cur_val = int(cur_raw) if cur_raw not in (None, "") else 0
|
||||
except Exception:
|
||||
prev_val = 0
|
||||
cur_val = 0
|
||||
|
||||
is_rising_edge = (prev_val == 0 and cur_val == 1)
|
||||
|
||||
# Gate all conditions in one boolean
|
||||
should_process = (
|
||||
(not initialChange) and
|
||||
quality_ok and
|
||||
tag_path.endswith("/bData_Ready") and
|
||||
is_rising_edge
|
||||
)
|
||||
|
||||
if should_process:
|
||||
try:
|
||||
parent = tag_path.rsplit("/", 1)[0]
|
||||
|
||||
read_paths = [
|
||||
parent + "/sBarcode",
|
||||
parent + "/iPackage_Length",
|
||||
parent + "/adiSort_Code_0",
|
||||
parent + "/asRequested_Dest_ID_0",
|
||||
parent + "/sActual_Dest_ID",
|
||||
parent + "/sLocation_ID",
|
||||
parent + "/iItem_Carrier_Count",
|
||||
parent + "/diPLC_RecordNumber",
|
||||
]
|
||||
|
||||
results = system.tag.readBlocking(read_paths)
|
||||
|
||||
if not all(r.quality.isGood() for r in results):
|
||||
logger.warn(
|
||||
"Bad quality reading tags for [{}]: {}".format(
|
||||
parent, [str(r.quality) for r in results]
|
||||
)
|
||||
)
|
||||
else:
|
||||
logger.warn("HELLO")
|
||||
barcode = results[0].value
|
||||
length = results[1].value
|
||||
sort_code = results[2].value
|
||||
req_dest = results[3].value
|
||||
act_dest = results[4].value
|
||||
location_id = results[5].value
|
||||
carrier_count = results[6].value
|
||||
record_num = results[7].value
|
||||
|
||||
sql = """
|
||||
INSERT INTO item_data (
|
||||
t_stamp,
|
||||
sBarcode,
|
||||
iPackage_Length,
|
||||
adiSort_Code_0,
|
||||
asRequested_Dest_ID_0,
|
||||
sActual_Dest_ID,
|
||||
sLocation_ID,
|
||||
iItem_Carrier_Count,
|
||||
diPLC_RecordNumber
|
||||
)
|
||||
VALUES (CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
"""
|
||||
|
||||
params = [
|
||||
barcode,
|
||||
length,
|
||||
sort_code,
|
||||
req_dest,
|
||||
act_dest,
|
||||
location_id,
|
||||
carrier_count,
|
||||
record_num,
|
||||
]
|
||||
|
||||
system.db.runPrepUpdate(sql, params, DB_NAME)
|
||||
|
||||
# Reset handshake to 0
|
||||
wr = system.tag.writeBlocking([tag_path], [0])
|
||||
if not wr[0].isGood():
|
||||
logger.warn("Failed to reset {}: {}".format(tag_path, wr[0]))
|
||||
|
||||
except Exception as ex:
|
||||
logger.error("Error processing {}: {}".format(tag_path, ex))
|
||||
# Best-effort reset on error so PLC doesn't hang
|
||||
try:
|
||||
system.tag.writeBlocking([tag_path], [0])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
{
|
||||
"scope": "A",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"onTagChange.py"
|
||||
],
|
||||
"attributes": {
|
||||
"changeTypes": [
|
||||
"ValueChange",
|
||||
"QualityChange",
|
||||
"TimestampChange"
|
||||
],
|
||||
"lastModificationSignature": "330bad4018800d83d7f6eba62e331bfd1cb2d6cfc73da21148b054a9e0af58f5",
|
||||
"paths": [
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_000/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_001/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_002/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_003/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_004/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_005/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_006/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_007/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_008/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_009/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_010/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_011/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_012/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_013/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_014/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_015/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_016/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_017/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_018/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_019/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_020/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_021/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_022/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_023/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_024/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_025/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_026/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_027/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_028/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_029/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_030/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_031/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_032/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_033/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_034/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_035/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_036/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_037/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_038/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_039/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_040/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_041/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_042/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_043/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_044/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_045/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_046/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_047/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_048/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_049/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_050/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_051/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_052/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_053/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_054/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_055/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_056/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_057/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_058/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_059/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_060/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_061/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_062/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_063/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_064/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_065/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_066/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_067/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_068/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_069/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_070/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_071/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_072/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_073/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_074/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_075/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_076/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_077/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_078/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_079/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_080/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_081/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_082/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_083/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_084/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_085/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_086/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_087/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_088/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_089/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_090/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_091/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_092/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_093/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_094/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_095/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_096/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_097/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_098/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_099/bData_Ready",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Item/Item_100/bData_Ready"
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-15T13:44:38Z"
|
||||
},
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
@ -1,133 +0,0 @@
|
||||
def onTagChange(initialChange, newValue, previousValue, event, executionCount):
|
||||
# ============================================================================
|
||||
# Gateway Tag Change Script - Scanner Statistics
|
||||
# Triggers on: Scanner_X/* tags (diScanner_* statistics)
|
||||
# Logic:
|
||||
# - Only act when:
|
||||
# * not initialChange
|
||||
# * quality is good
|
||||
# * quality transition from bad to good is ignored
|
||||
# - Then:
|
||||
# * Read scanner name
|
||||
# * INSERT into scanner_reads with appropriate column
|
||||
# ============================================================================
|
||||
|
||||
DB_NAME = "MariaDB"
|
||||
import system
|
||||
|
||||
# ============================================================================
|
||||
# ENTRY BLOCK – runs on every configured tag change
|
||||
# Objects: event, initialChange, currentValue, previousValue, executionCount
|
||||
# ============================================================================
|
||||
|
||||
tagPath = str(event.getTagPath())
|
||||
|
||||
# Extract tag name from path (e.g., "diScanner_bad_reads" from full path)
|
||||
tagName = tagPath.split("/")[-1]
|
||||
|
||||
# Handle diScanner_bad_reads
|
||||
if tagName == "diScanner_bad_reads":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_bad_reads)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("bad_reads: %s" % e)
|
||||
|
||||
# Handle diScanner_comm_fault
|
||||
if tagName == "diScanner_comm_fault":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_comm_fault)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("comm_fault: %s" % e)
|
||||
|
||||
# Handle diScanner_good_reads
|
||||
if tagName == "diScanner_good_reads":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_good_reads)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("good_reads: %s" % e)
|
||||
|
||||
# Handle diScanner_multi_items
|
||||
if tagName == "diScanner_multi_items":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_multi_items)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("multi_items: %s" % e)
|
||||
|
||||
# Handle diScanner_multi_reads
|
||||
if tagName == "diScanner_multi_reads":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_multi_reads)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("multi_reads: %s" % e)
|
||||
|
||||
# Handle diScanner_no_data
|
||||
if tagName == "diScanner_no_data":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_no_data)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("no_data: %s" % e)
|
||||
|
||||
# Handle diScanner_no_reads
|
||||
if tagName == "diScanner_no_reads":
|
||||
if not (initialChange or not currentValue.quality.isGood() or (not previousValue.quality.isGood() and currentValue.quality.isGood())):
|
||||
try:
|
||||
parentPath = "/".join(tagPath.split("/")[:-1])
|
||||
namePath = parentPath + "/sScanner_Name"
|
||||
name = system.tag.readBlocking([namePath])[0].value
|
||||
|
||||
system.db.runPrepUpdate("""
|
||||
INSERT INTO scanner_reads (t_stamp, sScanner_Name, diScanner_no_reads)
|
||||
VALUES (NOW(), ?, 1)
|
||||
""", [name], DB_NAME)
|
||||
except Exception as e:
|
||||
system.util.getLogger("ScannerStatistics").error("no_reads: %s" % e)
|
||||
|
||||
|
||||
@ -1,60 +0,0 @@
|
||||
{
|
||||
"scope": "A",
|
||||
"version": 1,
|
||||
"restricted": false,
|
||||
"overridable": true,
|
||||
"files": [
|
||||
"onTagChange.py"
|
||||
],
|
||||
"attributes": {
|
||||
"changeTypes": [
|
||||
"ValueChange",
|
||||
"QualityChange",
|
||||
"TimestampChange"
|
||||
],
|
||||
"lastModificationSignature": "05e735e5d871b0612b576a073a3c3d1d5c476a711ec0988563705c32cc936eb8",
|
||||
"paths": [
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_0/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_1/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_2/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_3/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_4/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_5/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_6/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_7/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_8/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_9/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_10/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_11/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_12/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_13/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_14/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_15/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_16/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_17/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_18/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_19/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_20/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_21/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_22/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_23/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_24/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_25/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_26/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_27/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_28/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_29/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_30/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_31/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_32/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_33/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_34/*",
|
||||
"[MTN6_SCADA_TAG_PROVIDER]System/SMC/Statistics/Scanner/Scanner_35/*"
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2026-01-15T13:44:38Z"
|
||||
},
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||