Compare commits

...

79 Commits

Author SHA1 Message Date
f95648b02c Merge pull request 'Fix for status' (#162) from script-fix into main
Reviewed-on: #162
2025-07-10 12:49:51 +00:00
beka makharadze
0821720fce Fix for status 2025-07-10 16:36:05 +04:00
6edf75483a Merge pull request 'MTN6-25' (#161) from beka-5 into main
Reviewed-on: #161
2025-07-10 12:16:10 +00:00
beka makharadze
76c3b93ba9 Remove script 2025-07-10 15:26:42 +04:00
beka makharadze
98304fc7d9 Update MCM docked-east 2025-07-09 19:16:18 +04:00
beka makharadze
c0d785bea0 Update CommandControl page 2025-07-09 17:15:24 +04:00
beka makharadze
e010d18094 Fix Script 2025-07-09 12:06:36 +04:00
beka makharadze
98bdda8c32 Fix script remove stuff 2025-07-08 19:51:47 +04:00
beka makharadze
49a39bc0d4 MTN6-25 2025-07-08 19:49:55 +04:00
4203a0e98d Deleted Destuffs updated Views 2025-07-08 19:03:11 +04:00
4d2e22d1ca Merge pull request 'MTN6-22' (#159) from beka-4 into main
Reviewed-on: #159
2025-07-08 13:33:02 +00:00
97767c8e66 Merge pull request 'MTN6-26' (#160) from beka-5 into main
Reviewed-on: #160
2025-07-08 13:32:53 +00:00
bc36593f6b Updated APF Docked East view 2025-07-08 17:05:31 +04:00
beka makharadze
40aed9c7cf MTN6-26 2025-07-08 14:57:53 +04:00
beka makharadze
990b0bc52b MTN6-22 2025-07-08 13:46:36 +04:00
f659e55241 Merge pull request 'MTN6-18 and fix some names' (#158) from beka-4 into main
Reviewed-on: #158
2025-07-07 13:53:55 +00:00
beka makharadze
1dcbf4d8f9 MTN6-18 and fix some names 2025-07-07 15:59:56 +04:00
ce52383e5f Merge pull request 'MTN6-20, MTN6-24' (#157) from beka-4 into main
Reviewed-on: #157
2025-07-07 11:35:47 +00:00
beka makharadze
b65aa181a8 Center devices MCM03, MCM05, MCM06 2025-07-07 15:12:52 +04:00
beka makharadze
7a5f1be5e5 Update MCM03, MCM06, MCM07 2025-07-07 15:02:51 +04:00
beka makharadze
37b8a55f97 Update MCM02 2025-07-07 13:41:03 +04:00
beka makharadze
06f7597665 Update MCM01 2025-07-07 13:23:26 +04:00
beka makharadze
5d803866c7 Remove FIOs MCM04 2025-07-07 13:20:22 +04:00
beka makharadze
585ec039de Center devices MCM05 2025-07-07 13:16:01 +04:00
beka makharadze
c863afc801 Update MCM05 2025-07-07 13:04:32 +04:00
7dcbcd04cd Merge pull request 'MTN6-11' (#156) from beka-4 into main
Reviewed-on: #156
2025-07-07 09:03:55 +00:00
beka makharadze
e430d94005 Update MCM04 2025-07-07 12:24:03 +04:00
beka makharadze
18c1a2f7b0 MTN6-11 2025-07-03 12:53:34 +04:00
b9ca08171d Merge pull request 'MTN6-9' (#155) from beka-4 into main
Reviewed-on: #155
2025-07-03 08:36:59 +00:00
beka makharadze
0b38a23c63 MTN6-9 2025-07-02 18:37:36 +04:00
37102f2d68 Merge pull request 'MTN6-6' (#154) from beka-4 into main
Reviewed-on: #154
2025-07-02 12:17:45 +00:00
fef771d42f Merge pull request 'Fixed: alarms weren't showing in the command control view' (#153) from guga into main
Reviewed-on: #153
2025-07-02 11:52:46 +00:00
beka makharadze
44ef90ddf5 MTN6-6 2025-07-02 15:49:54 +04:00
21111905bf Merge pull request 'MTN6-1, MTN6-2, MTN6-3, MTN6-4' (#150) from beka-1 into main
Reviewed-on: #150
2025-07-02 08:11:56 +00:00
3f130676b1 Merge pull request 'MTN6-7, MTN6-8' (#151) from beka-dpm into main
Reviewed-on: #151
2025-07-02 08:11:29 +00:00
65032eb02b Merge pull request 'MTN6-5' (#152) from beka-2 into main
Reviewed-on: #152
2025-07-02 08:11:13 +00:00
beka makharadze
5d9d450eba MTN6-7, MTN6-8 2025-07-02 11:25:35 +04:00
beka makharadze
2cedc2ada5 Add nav buttons to more views 2025-07-02 10:54:03 +04:00
beka makharadze
ab894a8ac1 Other views 2025-07-01 19:33:19 +04:00
beka makharadze
01f942c338 MTN6-276 2025-07-01 19:29:10 +04:00
beka makharadze
9f460e173b Fix VFD Docked-East 2025-07-01 18:43:42 +04:00
beka makharadze
73da246632 Fix All Docked-Easts 2025-07-01 16:39:20 +04:00
beka makharadze
ba62855d1f Fix MCM color 2025-07-01 16:31:11 +04:00
beka makharadze
061ea0e091 Fix MCM Docked-East 2025-07-01 13:32:44 +04:00
beka makharadze
81e6d7be7c Fix StatusNonPowered Docked-East 2025-07-01 11:55:21 +04:00
beka makharadze
a341670602 Fix JR PB Docked-East 2025-07-01 11:22:21 +04:00
beka makharadze
3c897f4bde Fix Device Status Docked-East 2025-07-01 11:00:35 +04:00
beka makharadze
4b9d34f83b Fix Extendo Docked-East 2025-07-01 10:57:13 +04:00
089dcc4c43 Updated Views (Percent) 2025-06-30 19:46:32 +04:00
a37f064345 Merge pull request 'Change EPC colors' (#149) from beka-1 into main
Reviewed-on: #149
2025-06-30 14:55:27 +00:00
19c3c876dd Fixed LOGO 2025-06-30 18:53:29 +04:00
beka makharadze
30e4c039d2 Change EPC colors 2025-06-30 18:46:13 +04:00
1af60b12e8 Merge pull request 'MTN6-268' (#148) from beka-1 into main
Reviewed-on: #148
2025-06-30 14:04:38 +00:00
beka makharadze
343a80f648 Update buttons 2025-06-30 17:12:51 +04:00
1c6a331ae7 Merge pull request 'MTN6-266 MTN6-265 MTN6-264' (#146) from guga into main
Reviewed-on: #146
2025-06-30 12:59:51 +00:00
beka makharadze
fa382deea5 Extendo Tags 2025-06-30 16:27:22 +04:00
beka makharadze
28365a222a MTN6-268 2025-06-30 16:19:39 +04:00
c2cd9885fd Merge pull request 'Add MCM and Extendo Symbols to views' (#147) from beka-1 into main
Reviewed-on: #147
2025-06-30 08:02:19 +00:00
beka makharadze
c81efc5f57 Add MCM and Extendo Symbols to views 2025-06-30 11:34:37 +04:00
458a3e1d7e Merge pull request 'Update PullChord' (#144) from beka-pullchord into main
Reviewed-on: #144
2025-06-26 15:33:12 +00:00
79b6c8b136 Merge pull request 'recource json files were missing' (#145) from guga into main
Reviewed-on: #145
2025-06-26 14:47:30 +00:00
ee6f3d7d76 Merge pull request 'MCM' (#142) from beka-MCM into main
Reviewed-on: #142
2025-06-26 14:26:21 +00:00
f06f72bfcf Merge pull request 'Alarm click events' (#143) from guga into main
Reviewed-on: #143
2025-06-26 14:25:58 +00:00
beka makharadze
bb13144029 Update PullChord 2025-06-26 16:26:57 +04:00
beka makharadze
1e311e3c36 Fix button colors 2025-06-26 13:08:27 +04:00
beka makharadze
7c3d8b70ba Fix Disconnect 2025-06-26 11:21:05 +04:00
beka makharadze
8242a5bfb6 Update dock 2025-06-25 19:05:07 +04:00
59deaf9192 Merge pull request 'Fix' (#141) from project-fix into main
Reviewed-on: #141
2025-06-25 12:16:50 +00:00
beka makharadze
df526725c2 MCM Symbol and Docked-East 2025-06-25 16:11:24 +04:00
beka makharadze
ecd305570d Fix 2025-06-25 13:28:55 +04:00
13a0a49fc3 Merge pull request 'MTN6-263' (#137) from beka-3 into main
Reviewed-on: #137
2025-06-24 13:12:35 +00:00
28f62b23a8 Merge pull request 'fixed the alarm in the header' (#140) from guga into main
Reviewed-on: #140
2025-06-24 12:40:38 +00:00
ce35a82503 Merge pull request 'Showing alarms on the controller statuses' (#139) from guga into main
Reviewed-on: #139
2025-06-24 12:08:47 +00:00
38a0aa27cb Merge pull request 'Docked South alarm footer is funcitonal now. Minor adjustments in the Realtime View. Added missing recource file for the GetAlarmsWithCount sql query.' (#138) from guga into main
Reviewed-on: #138
2025-06-24 11:56:44 +00:00
beka makharadze
de67dc9f54 MTN6-263 2025-06-24 11:53:52 +04:00
beka makharadze
965a4a1e66 MTN6-263 2025-06-24 11:18:04 +04:00
bd599b70b1 Merge pull request 'Alarms in Docked-VFD' (#136) from guga into main
Reviewed-on: #136
2025-06-23 13:57:08 +00:00
06bfc3cc2a Merge pull request 'Fix JR button and DeviceStatus' (#135) from beka-3 into main
Reviewed-on: #135
2025-06-23 13:36:56 +00:00
b.makharadze
cb067a18f8 Fix JR button and DeviceStatus 2025-06-23 17:34:53 +04:00
73 changed files with 25291 additions and 17388 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -231,6 +231,48 @@
"size": 400, "size": 400,
"viewParams": {}, "viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Device-Status" "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Device-Status"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Extendo",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-MCM",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-BTN",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Button"
} }
], ],
"top": [ "top": [

View File

@ -6,9 +6,9 @@
"$": [ "$": [
"ts", "ts",
192, 192,
1744298716080 1751383977919
], ],
"$ts": 1744298716080 "$ts": 1751383977919
} }
} }
}, },
@ -133,7 +133,7 @@
"panel_id": "value", "panel_id": "value",
"text": "DO1" "text": "DO1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -153,7 +153,7 @@
"panel_id": "value", "panel_id": "value",
"text": "DO2" "text": "DO2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -173,7 +173,7 @@
"panel_id": "value", "panel_id": "value",
"text": "DO3/WRG" "text": "DO3/WRG"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -193,7 +193,7 @@
"panel_id": "value", "panel_id": "value",
"text": "DO4" "text": "DO4"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -213,7 +213,7 @@
"panel_id": "value", "panel_id": "value",
"text": "DO5/TRS" "text": "DO5/TRS"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -233,7 +233,7 @@
"panel_id": "value", "panel_id": "value",
"text": "IB1" "text": "IB1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -253,7 +253,7 @@
"panel_id": "value", "panel_id": "value",
"text": "IND1" "text": "IND1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -273,7 +273,7 @@
"panel_id": "value", "panel_id": "value",
"text": "IND2" "text": "IND2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -293,7 +293,7 @@
"panel_id": "value", "panel_id": "value",
"text": "IT1" "text": "IT1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -313,7 +313,7 @@
"panel_id": "value", "panel_id": "value",
"text": "IT2" "text": "IT2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -333,7 +333,7 @@
"panel_id": "value", "panel_id": "value",
"text": "ITS1/2" "text": "ITS1/2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -353,7 +353,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MAR1/2" "text": "MAR1/2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -373,7 +373,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MLT1" "text": "MLT1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -393,7 +393,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MLT2" "text": "MLT2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -413,7 +413,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MSSA" "text": "MSSA"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -433,7 +433,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MSSB" "text": "MSSB"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -453,7 +453,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MSSC" "text": "MSSC"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -473,7 +473,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MSSD" "text": "MSSD"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -493,7 +493,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MSSH" "text": "MSSH"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -513,7 +513,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PFS1" "text": "PFS1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -533,7 +533,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PFS2" "text": "PFS2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -553,7 +553,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PSA" "text": "PSA"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -573,7 +573,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PSB" "text": "PSB"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -593,7 +593,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PSC" "text": "PSC"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -613,7 +613,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PSD" "text": "PSD"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -633,7 +633,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PTSA" "text": "PTSA"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -653,7 +653,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PTSB" "text": "PTSB"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -673,7 +673,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PTSC" "text": "PTSC"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -693,7 +693,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PTSD" "text": "PTSD"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -713,7 +713,7 @@
"panel_id": "value", "panel_id": "value",
"text": "PTSH" "text": "PTSH"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -733,7 +733,7 @@
"panel_id": "value", "panel_id": "value",
"text": "SGL1" "text": "SGL1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -753,7 +753,7 @@
"panel_id": "value", "panel_id": "value",
"text": "SGL2" "text": "SGL2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -773,7 +773,7 @@
"panel_id": "value", "panel_id": "value",
"text": "SLAM" "text": "SLAM"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -793,7 +793,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR1" "text": "TR1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -813,7 +813,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR2" "text": "TR2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -833,7 +833,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR3" "text": "TR3"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -853,7 +853,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR4" "text": "TR4"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -873,7 +873,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR5" "text": "TR5"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -893,7 +893,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TR6" "text": "TR6"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -913,7 +913,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TRK1" "text": "TRK1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -933,7 +933,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TRK2" "text": "TRK2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -953,7 +953,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TRK3" "text": "TRK3"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -973,7 +973,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TRP1" "text": "TRP1"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -993,7 +993,7 @@
"panel_id": "value", "panel_id": "value",
"text": "TRP2" "text": "TRP2"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -1013,7 +1013,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MTN6" "text": "MTN6"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
} }

View File

@ -6,9 +6,9 @@
"$": [ "$": [
"ts", "ts",
192, 192,
1750063587377 1751383350721
], ],
"$ts": 1750063587376 "$ts": 1751383350721
} }
} }
}, },
@ -99,7 +99,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM01 Fluid Inbound Merges 1-4" "text": "MCM01 Fluid Inbound Merges 1-4"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -119,7 +119,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM02 Fluid Inbound Merges 5-7" "text": "MCM02 Fluid Inbound Merges 5-7"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -139,7 +139,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM03 Non Con" "text": "MCM03 Non Con"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -162,7 +162,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes" "text": "MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -182,7 +182,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes" "text": "MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -205,7 +205,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve" "text": "MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -228,7 +228,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM05 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes" "text": "MCM05 North Bulk Inbound, Fluid Outbound and Problem Solve Chutes"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -248,7 +248,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM06 Non Con" "text": "MCM06 Non Con"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -268,7 +268,7 @@
"panel_id": "value", "panel_id": "value",
"text": "MCM07 Bypass" "text": "MCM07 Bypass"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },
@ -1485,7 +1485,7 @@
"pageid": null, "pageid": null,
"text": "BG Sorter" "text": "BG Sorter"
}, },
"path": "Custom-Views/Area_Nav_Button" "path": "Symbol-Views/Equipment-Views/Area_Nav_Button"
}, },
"type": "ia.display.view" "type": "ia.display.view"
}, },

View File

@ -1,6 +1,25 @@
{ {
"custom": {}, "custom": {},
"params": {}, "params": {
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": { "props": {
"defaultSize": { "defaultSize": {
"height": 180, "height": 180,
@ -56,6 +75,17 @@
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
} }
], ],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": { "meta": {
"name": "root" "name": "root"
}, },

View File

@ -14,7 +14,19 @@
"OutDown": false, "OutDown": false,
"OutOn": false, "OutOn": false,
"OutRight": false, "OutRight": false,
"OutUp": false "OutUp": false,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
}, },
"propConfig": { "propConfig": {
"params.Down1": { "params.Down1": {
@ -72,6 +84,10 @@
"params.OutUp": { "params.OutUp": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
} }
}, },
"props": { "props": {

View File

@ -54,7 +54,19 @@
true true
], ],
"in": true, "in": true,
"out": true "out": true,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
}, },
"propConfig": { "propConfig": {
"params.con_lines": { "params.con_lines": {
@ -72,6 +84,10 @@
"params.out": { "params.out": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
} }
}, },
"props": { "props": {
@ -87,8 +103,8 @@
"name": "DPM_TO_HUB" "name": "DPM_TO_HUB"
}, },
"position": { "position": {
"basis": "300px", "height": 1,
"grow": 1 "width": 1
}, },
"propConfig": { "propConfig": {
"props.elements[0].elements[0].elements[1].stroke.paint": { "props.elements[0].elements[0].elements[1].stroke.paint": {
@ -3550,14 +3566,40 @@
"viewBox": "0 0 1920 1080" "viewBox": "0 0 1920 1080"
}, },
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t\tsystem.perspective.openDock(\u0027Docked-East-DS\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "CoordinateContainer"
},
"position": {
"height": 0.2602,
"width": 0.2609,
"x": 0.3677,
"y": 0.3694
},
"props": {
"mode": "percent"
},
"type": "ia.container.coord"
} }
], ],
"meta": { "meta": {
"name": "root" "name": "root"
}, },
"props": { "props": {
"direction": "column" "mode": "percent"
}, },
"type": "ia.container.flex" "type": "ia.container.coord"
} }
} }

View File

@ -8,7 +8,19 @@
"OutDown": false, "OutDown": false,
"OutOn": false, "OutOn": false,
"OutRight": false, "OutRight": false,
"OutUp": true "OutUp": true,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
}, },
"propConfig": { "propConfig": {
"params.InDown": { "params.InDown": {
@ -42,6 +54,10 @@
"params.OutUp": { "params.OutUp": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
} }
}, },
"props": { "props": {
@ -1337,6 +1353,17 @@
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
} }
], ],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-MCM\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": { "meta": {
"name": "root" "name": "root"
}, },

View File

@ -1,6 +1,25 @@
{ {
"custom": {}, "custom": {},
"params": {}, "params": {
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": { "props": {
"defaultSize": { "defaultSize": {
"height": 180, "height": 180,
@ -55,6 +74,17 @@
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
} }
], ],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-DS\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": { "meta": {
"name": "root" "name": "root"
}, },

View File

@ -2,7 +2,7 @@
"custom": { "custom": {
"dpm1-dpm2": false, "dpm1-dpm2": false,
"dpm10-dpm11": false, "dpm10-dpm11": false,
"dpm11-mcm": true, "dpm11-mcm": false,
"dpm2-dpm3": false, "dpm2-dpm3": false,
"dpm3-dpm4": false, "dpm3-dpm4": false,
"dpm4-dpm5": false, "dpm4-dpm5": false,
@ -11,44 +11,427 @@
"dpm7-dpm8": false, "dpm7-dpm8": false,
"dpm8-dpm9": false, "dpm8-dpm9": false,
"dpm9-dpm10": false, "dpm9-dpm10": false,
"mcm_dpm1": true "mcm_dpm1": false
},
"params": {
"tagProps": [
"System/MCM04/MCM04",
"System/MCM04/Field_Devices/DPM/PRS3_5_DPM1",
"System/MCM04/Field_Devices/DPM/PS11_7_DPM1",
"System/MCM04/Field_Devices/DPM/VSC_DPM3",
"System/MCM04/Field_Devices/DPM/VSC_DPM2",
"System/MCM04/Field_Devices/DPM/FL3016_2_DPM1",
"System/MCM04/Field_Devices/DPM/VSC_DPM1",
"System/MCM04/Field_Devices/DPM/VSA_DPM1_7",
"System/MCM04/Field_Devices/DPM/FL1034_2_DPM1",
"System/MCM04/Field_Devices/DPM/VSA_DPM2",
"System/MCM04/Field_Devices/DPM/VSA_DPM3",
"System/MCM04/Field_Devices/DPM/PS10_2_DPM1"
]
}, },
"params": {},
"propConfig": { "propConfig": {
"custom.dpm1-dpm2": { "custom.dpm1-dpm2": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"1": "{view.params.tagProps[1]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{1}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm10-dpm11": { "custom.dpm10-dpm11": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"10": "{view.params.tagProps[10]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{10}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm11-mcm": { "custom.dpm11-mcm": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"11": "{view.params.tagProps[11]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{11}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm2-dpm3": { "custom.dpm2-dpm3": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"2": "{view.params.tagProps[2]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{2}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm3-dpm4": { "custom.dpm3-dpm4": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"3": "{view.params.tagProps[3]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{3}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": false
},
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm4-dpm5": { "custom.dpm4-dpm5": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"4": "{view.params.tagProps[4]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{4}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm5-dpm6": { "custom.dpm5-dpm6": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"5": "{view.params.tagProps[5]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{5}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm6-dpm7": { "custom.dpm6-dpm7": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"6": "{view.params.tagProps[6]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{6}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm7-dpm8": { "custom.dpm7-dpm8": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"7": "{view.params.tagProps[7]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{7}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm8-dpm9": { "custom.dpm8-dpm9": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"8": "{view.params.tagProps[8]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{8}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.dpm9-dpm10": { "custom.dpm9-dpm10": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"9": "{view.params.tagProps[9]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{9}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true "persistent": true
}, },
"custom.mcm_dpm1": { "custom.mcm_dpm1": {
"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},{view.params.forceFaultStatus},1)",
"type": "expression"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true "persistent": true
} }
}, },
@ -613,6 +996,18 @@
"OutDown": false, "OutDown": false,
"OutRight": true, "OutRight": true,
"OutUp": false, "OutUp": false,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
],
"view": "Windows/Tabs/Enternet Windows/DPMs/DPM Devices/MCM04/PS10_2_DPM1" "view": "Windows/Tabs/Enternet Windows/DPMs/DPM Devices/MCM04/PS10_2_DPM1"
}, },
"path": "Windows/Tabs/Enternet Windows/Components/DPM_BLOCK" "path": "Windows/Tabs/Enternet Windows/Components/DPM_BLOCK"
@ -916,6 +1311,18 @@
"OutDown": false, "OutDown": false,
"OutRight": false, "OutRight": false,
"OutUp": true, "OutUp": true,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
],
"view": "Windows/Tabs/Enternet Windows/DPMs/DPM Devices/MCM04/PRS3_5_DPM1" "view": "Windows/Tabs/Enternet Windows/DPMs/DPM Devices/MCM04/PRS3_5_DPM1"
}, },
"path": "Windows/Tabs/Enternet Windows/Components/DPM_BLOCK" "path": "Windows/Tabs/Enternet Windows/Components/DPM_BLOCK"

View File

@ -23,6 +23,14 @@
"/Device-manager": { "/Device-manager": {
"viewPath": "Main-Views/Device-Manager/DeviceManager" "viewPath": "Main-Views/Device-Manager/DeviceManager"
}, },
"/Extendo": {
"title": "",
"viewPath": "Simulations/Extendo"
},
"/Field_Devices": {
"title": "",
"viewPath": "Simulations/Field_Devices"
},
"/Help": { "/Help": {
"title": "Help", "title": "Help",
"viewPath": "Main-Views/Help" "viewPath": "Main-Views/Help"
@ -31,6 +39,10 @@
"title": "", "title": "",
"viewPath": "Additional-Home-View/MAP-Home" "viewPath": "Additional-Home-View/MAP-Home"
}, },
"/MCM": {
"title": "",
"viewPath": "Simulations/MCM"
},
"/Monitron": { "/Monitron": {
"viewPath": "Main-Views/Monitron" "viewPath": "Main-Views/Monitron"
}, },
@ -145,6 +157,62 @@
"size": 400, "size": 400,
"viewParams": {}, "viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-VFD" "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-DS",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Device-Status"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-SNP",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 150,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-MCM",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Extendo",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo"
} }
], ],
"top": [ "top": [

View File

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

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-30T10:38:01Z"
},
"lastModificationSignature": "cf2dfc6386e69cf24a8b9fec295ef389020353855ff9e0b8eab452cd02d10afb"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,66 @@
{
"custom": {},
"params": {},
"props": {
"defaultSize": {
"height": 1080,
"width": 1920
}
},
"root": {
"children": [
{
"meta": {
"name": "Image"
},
"position": {
"height": 1080,
"width": 1920
},
"props": {
"fit": {
"mode": "fill"
},
"source": "http://127.0.0.1:5500/VFD.svg"
},
"type": "ia.display.image"
},
{
"meta": {
"name": "FL4066_4_EX1"
},
"position": {
"height": 225,
"width": 355,
"x": 766.83,
"y": 410.08
},
"props": {
"params": {
"directionLeft": false,
"forceFaultStatus": null,
"forceRunningStatus": null,
"tagProps": [
"System/Extendo/FL4066_4_EX1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Extendo"
},
"type": "ia.display.view"
}
],
"meta": {
"name": "root"
},
"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": "admin",
"timestamp": "2025-06-25T11:58:07Z"
},
"lastModificationSignature": "5f14cb41e962dd58a4a8110907038073c11e81fa843429ab9a9f84c5c23df1bc"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,57 @@
{
"custom": {},
"params": {},
"props": {
"defaultSize": {
"height": 1080,
"width": 1920
}
},
"root": {
"children": [
{
"meta": {
"name": "MCM"
},
"position": {
"height": 0.2083,
"width": 0.1255,
"x": 0.4314,
"y": 0.3797
},
"props": {
"params": {
"directionLeft": false,
"forceFaultStatus": null,
"forceRunningStatus": null,
"tagProps": [
"MCM",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/MCM"
},
"type": "ia.display.view"
}
],
"meta": {
"name": "root"
},
"position": {
"x": 0.676,
"y": 0.5167
},
"props": {
"mode": "percent"
},
"type": "ia.container.coord"
}
}

View File

@ -3,7 +3,8 @@
"params": {}, "params": {},
"props": { "props": {
"defaultSize": { "defaultSize": {
"width": 949 "height": 1080,
"width": 1920
} }
}, },
"root": { "root": {
@ -24,13 +25,13 @@
"name": "Button" "name": "Button"
}, },
"position": { "position": {
"height": 101, "height": 0.1259,
"rotate": { "rotate": {
"anchor": "100% 129%" "anchor": "100% 129%"
}, },
"width": 169, "width": 0.1091,
"x": 65, "x": 0.0546,
"y": 149 "y": 0.1862
}, },
"props": { "props": {
"text": "APF/VFD" "text": "APF/VFD"
@ -53,13 +54,13 @@
"name": "Button_0" "name": "Button_0"
}, },
"position": { "position": {
"height": 104, "height": 0.1296,
"rotate": { "rotate": {
"anchor": "75% 25%" "anchor": "75% 25%"
}, },
"width": 188, "width": 0.1211,
"x": 264, "x": 0.2349,
"y": 146 "y": 0.1825
}, },
"props": { "props": {
"text": "Station_JR" "text": "Station_JR"
@ -82,13 +83,13 @@
"name": "Button_1" "name": "Button_1"
}, },
"position": { "position": {
"height": 105, "height": 0.1313,
"rotate": { "rotate": {
"anchor": "100% -106%" "anchor": "100% -106%"
}, },
"width": 184, "width": 0.1187,
"x": 483, "x": 0.4282,
"y": 145 "y": 0.1812
}, },
"props": { "props": {
"text": "Station_EPC" "text": "Station_EPC"
@ -100,8 +101,7 @@
"dom": { "dom": {
"onClick": { "onClick": {
"config": { "config": {
"params": {}, "page": "/Field_Devices"
"view": "Simulations/Field_Devices"
}, },
"scope": "C", "scope": "C",
"type": "nav" "type": "nav"
@ -112,23 +112,84 @@
"name": "Button_2" "name": "Button_2"
}, },
"position": { "position": {
"height": 105, "height": 0.1313,
"rotate": { "rotate": {
"anchor": "100% -106%" "anchor": "100% -106%"
}, },
"width": 184, "width": 0.1187,
"x": 696, "x": 0.6228,
"y": 145 "y": 0.1812
}, },
"props": { "props": {
"text": "SIO FIO HUB" "text": "SIO FIO HUB"
}, },
"type": "ia.input.button" "type": "ia.input.button"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"page": "/MCM"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Button_3"
},
"position": {
"height": 0.1313,
"rotate": {
"anchor": "100% -106%"
},
"width": 0.1187,
"x": 0.8134,
"y": 0.1803
},
"props": {
"text": "MCM"
},
"type": "ia.input.button"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"page": "/Extendo"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Button_4"
},
"position": {
"height": 0.1313,
"rotate": {
"anchor": "100% -106%"
},
"width": 0.1187,
"x": 0.4282,
"y": 0.3858
},
"props": {
"text": "Extendo"
},
"type": "ia.input.button"
} }
], ],
"meta": { "meta": {
"name": "root" "name": "root"
}, },
"props": {
"mode": "percent"
},
"type": "ia.container.coord" "type": "ia.container.coord"
} }
} }

View File

@ -147,6 +147,62 @@
"size": 400, "size": 400,
"viewParams": {}, "viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered" "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-DS",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Device-Status"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-MCM",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-MCM"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Extendo",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Extendo"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-BTN",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-Button"
} }
], ],
"top": [ "top": [

View File

@ -6,9 +6,9 @@
"$": [ "$": [
"ts", "ts",
192, 192,
1750943397562 1751966913728
], ],
"$ts": 1750943397562 "$ts": 1751966913727
} }
} }
}, },
@ -212,9 +212,6 @@
"type": "ia.container.flex" "type": "ia.container.flex"
}, },
{ {
"custom": {
"s3URI": "SCADA/rme-white-250.png"
},
"meta": { "meta": {
"name": "Image" "name": "Image"
}, },
@ -229,21 +226,6 @@
}, },
"type": "expr" "type": "expr"
} }
},
"props.source": {
"binding": {
"config": {
"path": "this.custom.s3URI"
},
"enabled": false,
"transforms": [
{
"code": "\treturn AWS.s3.getPresignedURL(self, value)",
"type": "script"
}
],
"type": "property"
}
} }
}, },
"props": { "props": {
@ -251,7 +233,7 @@
"height": 30, "height": 30,
"mode": "fill" "mode": "fill"
}, },
"source": null "source": "/system/images/Builtin/amazon_rme_logo.png"
}, },
"type": "ia.display.image" "type": "ia.display.image"
}, },
@ -883,178 +865,169 @@
"type": "ia.display.label" "type": "ia.display.label"
}, },
{ {
"children": [ "custom": {
{ "covert": true
"custom": { },
"covert": true "events": {
}, "dom": {
"events": { "onClick": {
"dom": { "config": {
"onClick": { "script": "\tdevice_list \u003d tags.tag_utilities.get_devices(self.session.custom.fc)\n\ttags.tag_utilities.reset_disconnect_tags(self.session.custom.fc, device_list)\n\tAWS.wbsckt_abort.close_websckt()"
"config": {
"script": "\tdevice_list \u003d tags.tag_utilities.get_devices(self.session.custom.fc)\n\ttags.tag_utilities.reset_disconnect_tags(self.session.custom.fc, device_list)\n\tAWS.wbsckt_abort.close_websckt()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon_2",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "30px"
},
"propConfig": {
"custom.heartbeat_received": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_heartbeat_interval"
},
"transforms": [
{
"expression": "if(secondsBetween(todate({value}),todate(now())) \u003e 70, False, True)",
"type": "expression"
}
],
"type": "tag"
}
}, },
"custom.wbsckt_running": { "scope": "G",
"binding": { "type": "script"
"config": { }
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_running"
},
"transforms": [
{
"expression": "if({value} \u003d True \u0026\u0026 ({this.custom.heartbeat_received} \u003d True) , True, False)",
"type": "expression"
}
],
"type": "tag"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "websocket running"
},
{
"input": false,
"output": "websocket disconnected"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.color": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "#FF4747"
},
{
"input": true,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"path": "material/location_city",
"style": {
"cursor": "pointer"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "50px",
"shrink": 0
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "direct",
"tagPath": "Configuration/FC"
},
"type": "tag"
}
}
},
"props": {
"icon": "material/building",
"style": {
"borderWidth": "0.25px",
"color": "#FFFFFF",
"textAlign": "",
"textIndent": 10
},
"textStyle": {
"lineBreak": "auto"
}
},
"type": "ia.display.label"
} }
], },
"meta": { "meta": {
"name": "FlexContainer_2" "name": "Icon_2",
"tooltip": {
"enabled": true
}
}, },
"position": { "position": {
"basis": "200px" "basis": "30px"
}, },
"props": { "propConfig": {
"style": { "custom.heartbeat_received": {
"overflow": "hidden" "binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_heartbeat_interval"
},
"transforms": [
{
"expression": "if(secondsBetween(todate({value}),todate(now())) \u003e 70, False, True)",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.wbsckt_running": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_running"
},
"transforms": [
{
"expression": "if({value} \u003d True \u0026\u0026 ({this.custom.heartbeat_received} \u003d True) , True, False)",
"type": "expression"
}
],
"type": "tag"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "websocket running"
},
{
"input": false,
"output": "websocket disconnected"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.color": {
"binding": {
"config": {
"path": "this.custom.wbsckt_running"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "#FF4747"
},
{
"input": true,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
} }
}, },
"type": "ia.container.flex" "props": {
"path": "material/location_city",
"style": {
"cursor": "pointer"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"shrink": 0
},
"propConfig": {
"position.basis": {
"binding": {
"config": {
"expression": "len({this.props.text}) * 11 + \"px\""
},
"type": "expr"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "direct",
"tagPath": "Configuration/FC"
},
"type": "tag"
}
}
},
"props": {
"icon": "material/building",
"style": {
"borderWidth": "0.25px",
"color": "#FFFFFF",
"textAlign": "",
"textIndent": 10
},
"textStyle": {
"lineBreak": "auto"
}
},
"type": "ia.display.label"
}, },
{ {
"meta": { "meta": {

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-07-02T11:48:18Z"
},
"lastModificationSignature": "de5bb9c72bf05ead61e866f16594f8e0422107f2e41098cad56320fdd7ff0b8d"
}
}

View File

@ -0,0 +1,643 @@
{
"custom": {
"PLC_list": null,
"running_state": -1,
"state": 0,
"views_data": []
},
"params": {
"tagProps": [
"/System/Station/Buttons/UL1_3_JR_PB2",
"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.running_state": {
"binding": {
"config": {
"expression": "try(jsonGet({session.custom.state_messages},{this.custom.tag_path_to_lookup}),-1)\t\r\n"
},
"transforms": [
{
"expression": "if({value} !\u003d -1, try(jsonGet({value},\"state\"),4),{value})",
"type": "expression"
}
],
"type": "expr"
},
"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": "if(isNull({value}), 0, {value})",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 3,
"output": 3
},
{
"input": 2,
"output": 2
},
{
"input": 1,
"output": 1
},
{
"input": 0,
"output": 0
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.views_data": {
"binding": {
"config": {
"struct": {
"equipment_id": "{view.params.tagProps[0]}"
},
"waitOnAll": true
},
"transforms": [
{
"code": "\tproject_info \u003d system.perspective.getProjectInfo()\n\t#self.custom.views_data \u003d project_info\n\tviews \u003d project_info.get(\"views\")\n\t#equipment_id \u003d self.view.params.tagProps[0]\n\tviews_data \u003d [i for i in views if i[\"path\"].startswith(\"Custom-Views/\"+ value.equipment_id)]\n\t#self.custom.views_data \u003d views_data\n\t\n\treturn views_data",
"type": "script"
}
],
"type": "expr-struct"
},
"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-BTN\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": "NameField"
},
"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": "Name"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"overflow": "hidden"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "LIGHT"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "PB_Light"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/PR_PB_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression"
},
{
"fallback": "UNKNOWN",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "ON"
},
{
"input": 0,
"output": "OFF"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "ON",
"output": "#47FF47"
},
{
"input": "OFF",
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px",
"shrink": 2
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_1"
},
"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"
}
],
"meta": {
"name": "tabs"
},
"position": {
"grow": 1
},
"props": {
"currentTabIndex": 1,
"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
}
},
"tabs": [
"Alarms",
"Info"
]
},
"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

@ -1,6 +1,14 @@
{ {
"custom": { "custom": {
"PLC_list": null, "PLC_list": [
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1, "running_state": -1,
"state": 0, "state": 0,
"views_data": [] "views_data": []
@ -204,6 +212,11 @@
"basis": "30px", "basis": "30px",
"shrink": 0 "shrink": 0
}, },
"props": {
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex" "type": "ia.container.flex"
}, },
{ {
@ -428,16 +441,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#D5D5D5",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "TRUE", "input": "UNKNOWN",
"output": "#FFFFFF" "output": "#FFFFFF"
},
{
"input": "FALSE",
"output": "#D5D5D5"
} }
], ],
"outputType": "color", "outputType": "color",
@ -460,16 +469,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "FALSE", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "TRUE" "output": "FAULTED"
},
{
"input": 0,
"output": "NOT FAULTED"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -490,12 +503,12 @@
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "FALSE", "input": "NOT FAULTED",
"output": "#FF0000" "output": "#47FF47"
}, },
{ {
"input": "FALSE", "input": "FAULTED",
"output": "#47FF47" "output": "#FF0000"
} }
], ],
"outputType": "color", "outputType": "color",
@ -564,6 +577,7 @@
"grow": 1 "grow": 1
}, },
"props": { "props": {
"currentTabIndex": 1,
"menuType": "modern", "menuType": "modern",
"tabSize": { "tabSize": {
"width": 1000 "width": 1000

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-30T12:00:54Z"
},
"lastModificationSignature": "107b253caa99ddcabc077ff704f93fd1b8fb7cf8c47437c9472200a13b6bf1a8"
}
}

View File

@ -1,13 +1,21 @@
{ {
"custom": { "custom": {
"PLC_list": null, "PLC_list": [
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1, "running_state": -1,
"state": 0, "state": 0,
"views_data": [] "views_data": []
}, },
"params": { "params": {
"tagProps": [ "tagProps": [
"/System/Station/Buttons/UL1_3_JR_PB2", "System/MCM01/Station/JR/S011050_JR1",
"value", "value",
"value", "value",
"value", "value",
@ -204,6 +212,11 @@
"basis": "30px", "basis": "30px",
"shrink": 0 "shrink": 0
}, },
"props": {
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex" "type": "ia.container.flex"
}, },
{ {
@ -428,16 +441,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#D5D5D5",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "ON", "input": "UNKNOWN",
"output": "#FFFFFF" "output": "#FFFFFF"
},
{
"input": "OFF",
"output": "#D5D5D5"
} }
], ],
"outputType": "color", "outputType": "color",
@ -460,20 +469,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "OFF", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{
"input": false,
"output": "OFF"
},
{ {
"input": true, "input": true,
"output": "ON" "output": "ON"
},
{
"input": false,
"output": "OFF"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -495,11 +504,11 @@
"mappings": [ "mappings": [
{ {
"input": "ON", "input": "ON",
"output": "#FF0000" "output": "#47FF47"
}, },
{ {
"input": "OFF", "input": "OFF",
"output": "#47FF47" "output": "#FF0000"
} }
], ],
"outputType": "color", "outputType": "color",
@ -571,7 +580,7 @@
"component": { "component": {
"onActionPerformed": { "onActionPerformed": {
"config": { "config": {
"script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])" "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/JR_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -593,6 +602,46 @@
}, },
"type": "expr" "type": "expr"
} }
},
"props.style.backgroundColor": {
"binding": {
"config": {
"expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#B17B50\",\r\n if(\r\n {this.props.text} \u003d \"JAM RESET PRESSED\",\r\n \"#FE9240\",\r\n if(\r\n {this.props.text} \u003d \"JAM RESET\",\r\n \"#EB6700\",\r\n \"#FFFFFF\"\r\n )\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Start_PB"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "JAM RESET",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "JAM RESET PRESSED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
} }
}, },
"props": { "props": {
@ -602,10 +651,8 @@
} }
}, },
"style": { "style": {
"backgroundColor": "#FE9240",
"classes": "Background-Styles/Controller" "classes": "Background-Styles/Controller"
}, }
"text": "RESET JAM"
}, },
"type": "ia.input.button" "type": "ia.input.button"
} }

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-25T11:32:50Z"
},
"lastModificationSignature": "49f161154a423c5b8ad60a6a57375d0b949b32a8891a9c076f1808395d1ac4d8"
}
}

View File

@ -1,16 +1,9 @@
{ {
"custom": { "custom": {
"PLC_list": [ "PLC_list": null,
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1, "running_state": -1,
"state": 0, "state": 0,
"type": 0,
"views_data": [] "views_data": []
}, },
"params": { "params": {
@ -112,6 +105,27 @@
}, },
"persistent": true "persistent": true
}, },
"custom.type": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Chute_Type"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.views_data": { "custom.views_data": {
"binding": { "binding": {
"config": { "config": {
@ -440,12 +454,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "FULL", "input": "FULL",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "NOT FULL", "input": "NOT FULL",
@ -472,16 +486,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "NOT FULL", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "FULL" "output": "FULL"
},
{
"input": 0,
"output": "NOT FULL"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -589,15 +607,15 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "DISABLED", "input": "TRUE",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "ENABLED", "input": "FALSE",
"output": "#D5D5D5" "output": "#D5D5D5"
} }
], ],
@ -621,16 +639,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus}, \"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "ENABLED", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "DISABLED" "output": "TRUE"
},
{
"input": 0,
"output": "FALSE"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -651,12 +673,12 @@
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "ENABLED", "input": "TRUE",
"output": "#47FF47" "output": "#FF0000"
}, },
{ {
"input": "DISABLED", "input": "FALSE",
"output": "#FF0000" "output": "#47FF47"
} }
], ],
"outputType": "color", "outputType": "color",
@ -776,12 +798,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "HALF FULL", "input": "HALF FULL",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "NOT HALF FULL", "input": "NOT HALF FULL",
@ -808,16 +830,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "NOT HALF FULL", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "HALF FULL" "output": "HALF FULL"
},
{
"input": 0,
"output": "NOT HALF FULL"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -839,7 +865,7 @@
"mappings": [ "mappings": [
{ {
"input": "HALF FULL", "input": "HALF FULL",
"output": "#7F83FF" "output": "#FFF000"
}, },
{ {
"input": "NOT HALF FULL", "input": "NOT HALF FULL",
@ -963,12 +989,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "JAMMED", "input": "JAMMED",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "NOT JAMMED", "input": "NOT JAMMED",
@ -995,16 +1021,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "NOT JAMMED", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "JAMMED" "output": "JAMMED"
},
{
"input": 0,
"output": "NOT JAMMED"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -1150,12 +1180,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "NO CONTAINER", "input": "NO CONTAINER",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "CONTAINER PRESENT", "input": "CONTAINER PRESENT",
@ -1178,20 +1208,24 @@
"0": "{view.params.tagProps[0]}", "0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/No Container" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/No_Container"
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "CONTAINER PRESENT", "fallback": "UNKNOWN",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "NO CONTAINER" "output": "NO CONTAINER"
},
{
"input": 0,
"output": "CONTAINER PRESENT"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -1333,12 +1367,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "#000000", "fallback": "#FFFFFF",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": "READY", "input": "READY",
"output": "#FFFFFF" "output": "#D5D5D5"
}, },
{ {
"input": "ENABLED", "input": "ENABLED",
@ -1506,7 +1540,7 @@
"component": { "component": {
"onActionPerformed": { "onActionPerformed": {
"config": { "config": {
"script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Enable_Chute_Pressed\"\n\tsystem.tag.writeBlocking([tag_path],[True])\n\ttag_path2 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/GS_PB_Pressed\"\n\tsystem.tag.writeBlocking([tag_path2],[True])\t" "script": "\ttag_name \u003d self.view.params.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Enable_Chute_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])\n\ttag_path2 \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/GS_PB\"\n\tsystem.tag.writeBlocking([tag_path2],[True])\t"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -1532,33 +1566,9 @@
"props.style.backgroundColor": { "props.style.backgroundColor": {
"binding": { "binding": {
"config": { "config": {
"fallbackDelay": 2.5, "expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#BB5050\",\r\n if(\r\n {this.props.text} \u003d \"DISABLE\",\r\n \"#FF0000\",\r\n if(\r\n {this.props.text} \u003d \"ENABLE\",\r\n \"#C9FCC0\",\r\n \"#FFFFFF\"\r\n )\r\n )\r\n)\r\n"
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/Disabled"
}, },
"transforms": [ "type": "expr"
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#FF0000",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#C9FCC0"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
} }
}, },
"props.style.color": { "props.style.color": {
@ -1606,7 +1616,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
"type": "expression" "type": "expression"
}, },
{ {
@ -1616,6 +1626,10 @@
{ {
"input": 1, "input": 1,
"output": "ENABLE" "output": "ENABLE"
},
{
"input": 0,
"output": "DISABLE"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -1733,6 +1747,22 @@
"position": { "position": {
"grow": 1 "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:\n\t\treturn [\"Alarms\", \"Info\"]\n\telse:\n\t\treturn [\"Alarms\", \"Info\", \"Commands\"]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": { "props": {
"menuType": "modern", "menuType": "modern",
"tabSize": { "tabSize": {
@ -1755,12 +1785,7 @@
"fontWeight": "bold", "fontWeight": "bold",
"paddingLeft": 10 "paddingLeft": 10
} }
}, }
"tabs": [
"Alarms",
"Info",
"Commands"
]
}, },
"type": "ia.container.tab" "type": "ia.container.tab"
} }

View File

@ -7,7 +7,7 @@
}, },
"params": { "params": {
"tagProps": [ "tagProps": [
"System/MCM01/Conveyor/UL1_3_VFD1", "System/Conveyor/APF/FL1038_2_VFD1",
"value", "value",
"value", "value",
"value", "value",
@ -378,9 +378,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
}, },
"text": "Name" "text": "NAME"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -458,9 +458,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
}, },
"text": "State" "text": "STATE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -473,10 +473,32 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "FULL",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({..../State.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"Communication Fault\",\r\n8, \"VFD Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running in Maintenance Mode\",\r\n\"Unknown\")" "expression": "case({..../State.custom.state},\r\n0, \"Off(Inactive)\",\r\n1, \"Enabled, Not Running\",\r\n2, \"Running\",\r\n3, \"Energy Management\",\r\n4, \"Jammed\",\r\n5, \"Full\",\r\n6, \"Maintenance Mode / Conveyor Stopped In Maintenance Mode\",\r\n7, \"Communication Fault\",\r\n8, \"VFD Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n61,\"Conveyor Running in Maintenance Mode\",\r\n\"UNKNOWN\")"
}, },
"type": "expr" "type": "expr"
} }
@ -492,7 +514,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -562,7 +583,7 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
}, },
"text": "FPM" "text": "FPM"
}, },
@ -577,6 +598,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -590,7 +633,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027) \u003d \u0027Unknown\u0027, \u0027Unknown\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" FPM\")", "expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027) \u003d \u0027UNKNOWN\u0027, \u0027UNKNOWN\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" FPM\")",
"type": "expression" "type": "expression"
} }
], ],
@ -600,7 +643,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -660,20 +702,20 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (Freq/Velocity\u0027)", "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN (FREQ/VELOCITY)\u0027)",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "Unknown (Freq/Velocity", "fallback": "UNKNOWN (FREQ/VELOCITY)",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "Velocity" "output": "VELOCITY"
}, },
{ {
"input": 0, "input": 0,
"output": "Frequency" "output": "FREQUENCY"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -686,7 +728,7 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
} }
}, },
"type": "ia.display.label" "type": "ia.display.label"
@ -700,6 +742,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -713,7 +777,7 @@
}, },
"transforms": [ "transforms": [
{ {
"code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n unit \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Velocity\"\n unit \u003d \" Rev/s\"\n else:\n child \u003d \"Frequency\"\n unit \u003d \" Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n if result is None or str(result) \u003d\u003d \"None\":\n return \"Unknown\"\n else:\n return str(result) + unit", "code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n unit \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Velocity\"\n unit \u003d \" Rev/s\"\n else:\n child \u003d \"Frequency\"\n unit \u003d \" Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n if result is None or str(result) \u003d\u003d \"None\":\n return \"UNKNOWN\"\n else:\n return str(result) + unit",
"type": "script" "type": "script"
} }
], ],
@ -723,7 +787,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -771,9 +834,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
}, },
"text": "Amperage" "text": "AMPERAGE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -786,6 +849,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -799,7 +884,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027) \u003d \u0027Unknown\u0027, \u0027Unknown\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" A\")", "expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027) \u003d \u0027UNKNOWN\u0027, \u0027UNKNOWN\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" A\")",
"type": "expression" "type": "expression"
} }
], ],
@ -809,7 +894,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -857,9 +941,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 100 "paddingLeft": 20
}, },
"text": "Voltage" "text": "VOLTAGE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -872,6 +956,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -885,7 +991,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027) \u003d \u0027Unknown\u0027, \u0027Unknown\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" V\")", "expression": "if(coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027) \u003d \u0027UNKNOWN\u0027, \u0027UNKNOWN\u0027, coalesce({value},{view.params.forceFaultStatus}) + \" V\")",
"type": "expression" "type": "expression"
} }
], ],
@ -895,7 +1001,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -943,9 +1048,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 35 "paddingLeft": 20
}, },
"text": "Communication Fault Code" "text": "COMMUNICATION FAULT CODE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -958,6 +1063,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -971,7 +1098,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)", "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression" "type": "expression"
} }
], ],
@ -981,7 +1108,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -1029,9 +1155,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 80 "paddingLeft": 20
}, },
"text": "VFD Fault Code" "text": "VFD FAULT CODE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -1044,6 +1170,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -1057,7 +1205,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)", "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression" "type": "expression"
} }
], ],
@ -1067,7 +1215,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -1115,9 +1262,9 @@
}, },
"props": { "props": {
"style": { "style": {
"paddingLeft": 70 "paddingLeft": 20
}, },
"text": "Last VFD Fault Code" "text": "LAST VFD FAULT CODE"
}, },
"type": "ia.display.label" "type": "ia.display.label"
}, },
@ -1130,6 +1277,28 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -1143,7 +1312,7 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)", "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression" "type": "expression"
} }
], ],
@ -1153,7 +1322,6 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt", "classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10 "paddingLeft": 10
} }
@ -1247,11 +1415,11 @@
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (60hz/30rev\u0027)", "expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN (60hz/30rev)\u0027)",
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "Unknown (60hz/30rev", "fallback": "Unknown (60hz/30rev)",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
@ -1323,6 +1491,10 @@
{ {
"code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Speed_At_30rev\"\n else:\n child \u003d \"Speed_At_60Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n \n return result", "code": "\n provider \u003d self.session.custom.fc + \"_SCADA_TAG_PROVIDER\"\n baseTag \u003d self.view.params.tagProps[0]\n basePath \u003d \"[\"+ provider + \"]\" + baseTag\n child \u003d \"\"\n \n\n if value \u003d\u003d 1:\n child \u003d \"Speed_At_30rev\"\n else:\n child \u003d \"Speed_At_60Hz\"\n\n fullPath \u003d basePath + \"/\" + child\n tagValue \u003d system.tag.readBlocking([fullPath])[0]\n result \u003d tagValue.value\n\t\n \n return result",
"type": "script" "type": "script"
},
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
} }
], ],
"type": "tag" "type": "tag"
@ -1419,6 +1591,12 @@
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Cycle_Time_Factor" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Cycle_Time_Factor"
}, },
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag" "type": "tag"
} }
} }
@ -1552,7 +1730,7 @@
"mappings": [ "mappings": [
{ {
"input": false, "input": false,
"output": "Active Maintenance Mode" "output": "Activate Maintenance Mode"
}, },
{ {
"input": true, "input": true,
@ -1598,7 +1776,7 @@
"component": { "component": {
"onActionPerformed": { "onActionPerformed": {
"config": { "config": {
"script": " \tpropMaintMode \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+tag_name+\"/Maintenance/Speed_FPM\"\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propMaintMode], [value])" "script": "\tpropMaintMode \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+ self.view.params.tagProps[0] + \"/Maintenance/Speed_FPM\"\n\tvalue \u003d self.props.value\n\tsystem.tag.writeAsync([propMaintMode], [value])"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -1615,15 +1793,30 @@
"props.enabled": { "props.enabled": {
"binding": { "binding": {
"config": { "config": {
"expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0" "fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Maintenance_Mode"
}, },
"type": "expr" "transforms": [
{
"expression": "if(\r\n indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || \r\n indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0,\r\n {value},\r\n false\r\n)\r\n",
"type": "expression"
},
{
"expression": "if(isNull({value}), false, {value})",
"type": "expression"
}
],
"type": "tag"
} }
}, },
"props.value": { "props.value": {
"binding": { "binding": {
"config": { "config": {
"bidirectional": true,
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
@ -1632,6 +1825,12 @@
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Speed_FPM" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Speed_FPM"
}, },
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag" "type": "tag"
} }
} }
@ -1699,14 +1898,80 @@
], ],
"type": "tag" "type": "tag"
} }
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Buttons_State"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#00D900",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#00D900"
},
{
"input": 1,
"output": "#00FF00"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Buttons_State"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "START",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "STARTED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
} }
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#2EDF43",
"marginBottom": 10 "marginBottom": 10
}, }
"text": "Start"
}, },
"type": "ia.input.button" "type": "ia.input.button"
}, },
@ -1749,14 +2014,80 @@
], ],
"type": "tag" "type": "tag"
} }
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Buttons_State"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#D90000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#D90000"
},
{
"input": 2,
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Buttons_State"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "STOP",
"inputType": "scalar",
"mappings": [
{
"input": 2,
"output": "STOPPED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
} }
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#E51A1A",
"marginBottom": 10 "marginBottom": 10
}, }
"text": "Stop"
}, },
"type": "ia.input.button" "type": "ia.input.button"
}, },
@ -1806,14 +2137,76 @@
], ],
"type": "tag" "type": "tag"
} }
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Jog_PB_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#00ACAC",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "#47FFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Jog_PB_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "JOG",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "JOG PRESSED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
} }
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#2ACCBA",
"marginBottom": 10 "marginBottom": 10
}, }
"text": "Jog"
}, },
"type": "ia.input.button" "type": "ia.input.button"
}, },
@ -1874,13 +2267,9 @@
"type": "expression" "type": "expression"
}, },
{ {
"fallback": "Direction", "fallback": "Direction Backward",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{
"input": false,
"output": "Direction Backward"
},
{ {
"input": true, "input": true,
"output": "Direction Forward" "output": "Direction Forward"
@ -1896,7 +2285,7 @@
}, },
"props": { "props": {
"style": { "style": {
"backgroundColor": "#0068F7", "backgroundColor": "#095ECD",
"marginBottom": 10 "marginBottom": 10
} }
}, },
@ -1910,7 +2299,7 @@
"name": "FlexContainer" "name": "FlexContainer"
}, },
"position": { "position": {
"basis": "200px", "basis": "500px",
"grow": 1 "grow": 1
}, },
"props": { "props": {
@ -1923,7 +2312,7 @@
"name": "Maintenance" "name": "Maintenance"
}, },
"position": { "position": {
"basis": "200px", "basis": "400px",
"grow": 1 "grow": 1
}, },
"props": { "props": {
@ -1960,6 +2349,7 @@
"grow": 1 "grow": 1
}, },
"props": { "props": {
"currentTabIndex": 2,
"menuType": "modern", "menuType": "modern",
"tabSize": { "tabSize": {
"width": 1000 "width": 1000

View File

@ -3,7 +3,7 @@
"params": { "params": {
"value": { "value": {
"tagProps": [ "tagProps": [
"", "MCM01",
"value", "value",
"value", "value",
"value", "value",
@ -25,7 +25,7 @@
"props": { "props": {
"defaultSize": { "defaultSize": {
"height": 50, "height": 50,
"width": 300 "width": 396
} }
}, },
"root": { "root": {
@ -35,7 +35,7 @@
"component": { "component": {
"onActionPerformed": { "onActionPerformed": {
"config": { "config": {
"script": "\ttags_to_read \u003d system.tag.readBlocking([\"Configuration/FC\"])\n\twhid \u003d tags_to_read[0].value\n\tid \u003d self.view.params.value.tagProps[0]\n\tcommandTarget\u003dstr(id)+\"/0\"#PLC01/0 --\u003etarget is the plc\n\tcommandParams\u003d\"\"\n\tif whid\u003d\u003d\"MAN2\" or whid\u003d\u003d\"BRS1\" or whid\u003d\u003d\"MAD6\":\n\t\tcommandTarget\u003d\"databridge/0\"\n\t\tcommandParams\u003d\"PLC\u003d\"+str(id)#this tells the target to data bridge\n\taction \u003d 1\n\tparameters\u003d{\"commandTarget\":commandTarget,\n\t\t\t\t\"commandCode\":1,\n\t\t\t\t\"commandTimestamp\":system.date.toMillis(system.date.now()),\n\t\t\t\t\"commandParams\":commandParams}\n\tCommands.button_commands.send_request(whid, action, parameters)" "script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])\n\t"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -56,7 +56,7 @@
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({this.props.enabled},\u0027Start \u0027 + {view.params.value.tagProps[0]},\"Re-Authentication Required - Press \u0027Enable Controls\u0027 button and re-enter password\")" "expression": "if({this.props.enabled},\u0027Start \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
}, },
"type": "expr" "type": "expr"
} }
@ -64,7 +64,7 @@
"props.enabled": { "props.enabled": {
"binding": { "binding": {
"config": { "config": {
"expression": "{session.custom.command_auth.enabled} \u0026\u0026 {parent.custom.has_role}" "expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
}, },
"type": "expr" "type": "expr"
} }
@ -72,11 +72,47 @@
"props.image.icon.color": { "props.image.icon.color": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({this.props.enabled},\u0027#4A4A4A\u0027,\u0027#979797\u0027)" "expression": "if({this.props.enabled},\u0027#FFFFFF\u0027,\u0027#979797\u0027)"
}, },
"type": "expr" "type": "expr"
} }
}, },
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Start_PB_STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#00A700",
"inputType": "scalar",
"mappings": [
{
"input": 2,
"output": "#41E841"
},
{
"input": 4,
"output": "#41E841"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": { "props.style.borderStyle": {
"binding": { "binding": {
"config": { "config": {
@ -96,7 +132,6 @@
"width": 32 "width": 32
}, },
"style": { "style": {
"backgroundColor": "#D4D4D4",
"borderColor": "#4A4A4A", "borderColor": "#4A4A4A",
"borderWidth": 2, "borderWidth": 2,
"classes": "\n", "classes": "\n",
@ -107,6 +142,7 @@
}, },
"text": "", "text": "",
"textStyle": { "textStyle": {
"color": "#000000",
"fontSize": 12, "fontSize": 12,
"fontWeight": "bold", "fontWeight": "bold",
"textAlign": "center" "textAlign": "center"
@ -119,164 +155,7 @@
"component": { "component": {
"onActionPerformed": { "onActionPerformed": {
"config": { "config": {
"script": "\ttags_to_read \u003d system.tag.readBlocking([\"Configuration/FC\"])\n\twhid \u003d tags_to_read[0].value\n\tid \u003d self.view.params.value.tagProps[0]\n\tcommandTarget\u003dstr(id)+\"/0\"#PLC01/0 --\u003etarget is the plc\n\tcommandParams\u003d\"\"\n\tif whid\u003d\u003d\"MAN2\" or whid\u003d\u003d\"BRS1\" or whid\u003d\u003d\"MAD6\":\n\t\tcommandTarget\u003d\"databridge/0\"\n\t\tcommandParams\u003d\"PLC\u003d\"+str(id)#this tells the target to data bridge\n\taction \u003d 3\n\tparameters\u003d{\"commandTarget\":commandTarget,\n\t\t\t\t\"commandCode\":3,\n\t\t\t\t\"commandTimestamp\":system.date.toMillis(system.date.now()),\n\t\t\t\t\"commandParams\":commandParams}\n\tCommands.button_commands.send_request(whid, action, parameters)" "script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Stop_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Reset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Reset \u0027 + {view.params.value.tagProps[0]},\"Re-Authentication Required - Press \u0027Enable Controls\u0027 button and re-enter password\") "
},
"type": "expr"
}
},
"props.enabled": {
"binding": {
"config": {
"expression": "{session.custom.command_auth.enabled} \u0026\u0026 {parent.custom.has_role}"
},
"type": "expr"
}
},
"props.image.icon.color": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#4A4A4A\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/refresh"
},
"position": "top",
"width": 32
},
"style": {
"backgroundColor": "#D4D4D4",
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"meta": {
"name": "JAM_Reset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Jam Reset \u0027 + {view.params.value.tagProps[0]},\"Re-Authentication Required - Press \u0027Enable Controls\u0027 button and re-enter password\")"
},
"type": "expr"
}
},
"props.enabled": {
"binding": {
"config": {
"expression": "{session.custom.command_auth.enabled} \u0026\u0026 {parent.custom.has_role}"
},
"type": "expr"
}
},
"props.image.icon.color": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#4A4A4A\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/sync_problem"
},
"position": "top",
"width": 32
},
"style": {
"backgroundColor": "#D4D4D4",
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttags_to_read \u003d system.tag.readBlocking([\"Configuration/FC\"])\n\twhid \u003d tags_to_read[0].value\n\tid \u003d self.view.params.value.tagProps[0]\n\tcommandTarget\u003dstr(id)+\"/0\"#PLC01/0 --\u003etarget is the plc\n\tcommandParams\u003d\"\"\n\tif whid\u003d\u003d\"MAN2\" or whid\u003d\u003d\"BRS1\" or whid\u003d\u003d\"MAD6\":\n\t\tcommandTarget\u003d\"databridge/0\"\n\t\tcommandParams\u003d\"PLC\u003d\"+str(id)#this tells the target to data bridge\n\taction \u003d 2\n\tparameters\u003d{\"commandTarget\":commandTarget,\n\t\t\t\t\"commandCode\":2,\n\t\t\t\t\"commandTimestamp\":system.date.toMillis(system.date.now()),\n\t\t\t\t\"commandParams\":commandParams}\n\tCommands.button_commands.send_request(whid, action, parameters)"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -297,7 +176,7 @@
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({this.props.enabled},\u0027Stop \u0027 + {view.params.value.tagProps[0]},\"Re-Authentication Required - Press \u0027Enable Controls\u0027 button and re-enter password\") " "expression": "if({this.props.enabled},\u0027Stop \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
}, },
"type": "expr" "type": "expr"
} }
@ -305,7 +184,7 @@
"props.enabled": { "props.enabled": {
"binding": { "binding": {
"config": { "config": {
"expression": "{session.custom.command_auth.enabled} \u0026\u0026 {parent.custom.has_role}" "expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
}, },
"type": "expr" "type": "expr"
} }
@ -313,11 +192,43 @@
"props.image.icon.color": { "props.image.icon.color": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({this.props.enabled},\u0027#4A4A4A\u0027,\u0027#979797\u0027)" "expression": "if({this.props.enabled},\u0027#FFFFFF\u0027,\u0027#979797\u0027)"
}, },
"type": "expr" "type": "expr"
} }
}, },
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Stop_PB"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#CA0D0D",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": { "props.style.borderStyle": {
"binding": { "binding": {
"config": { "config": {
@ -337,7 +248,597 @@
"width": 32 "width": 32
}, },
"style": { "style": {
"backgroundColor": "#D4D4D4", "borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Motor_Fault_Reset_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "MotorFaultReset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Motor Fault Reset \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"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": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Motor_Fault_Reset_PB_STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#DCDC03",
"inputType": "scalar",
"mappings": [
{
"input": 2,
"output": "#FCFF86"
},
{
"input": 4,
"output": "#FCFF86"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/refresh"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Power_Branch_Fault_Reset_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "PowerBranchFaultReset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Power Branch Fault Reset \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"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": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Power_Branch_Fault_Reset_PB_STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#DCDC03",
"inputType": "scalar",
"mappings": [
{
"input": 2,
"output": "#FCFF86"
},
{
"input": 4,
"output": "#FCFF86"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/power"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Low_Air_Pressure_Reset_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "LowAirPressureReset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Low Air Pressure Reset \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"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": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#FFFFFF\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Low_Air_Pressure_Reset_PB_STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#0A0AA4",
"inputType": "scalar",
"mappings": [
{
"input": 2,
"output": "#5D5DFF"
},
{
"input": 4,
"output": "#5D5DFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/waves"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Jam_Restart_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "JAM_Reset",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Jam Reset \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"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": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Jam_Restart_PB_STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#D4D4D4",
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": "#FFFFFF"
},
{
"input": 2,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/sync_problem"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Setup_Motor_Speeds\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "SetupMotorSpeeds",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Setup Motor Speeds \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"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": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Setup_Motor_Speeds"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#D4D4D4",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/speed"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A", "borderColor": "#4A4A4A",
"borderWidth": 2, "borderWidth": 2,
"classes": "\n", "classes": "\n",

View File

@ -3,34 +3,32 @@
"counts": { "counts": {
"Critical": 0, "Critical": 0,
"Diagnostic": 0, "Diagnostic": 0,
"High": 0, "High": 1,
"Low": 0, "Low": 1,
"Medium": 0, "Medium": 0,
"Total": 0 "Total": 2
}, },
"totalAlarms": { "totalAlarms": {
"$": [ "$": [
"ds", "ds",
192, 192,
1751448128142 1752066852881
], ],
"$columns": [ "$columns": [
{ {
"data": [ "data": [
null,
"MCM01", "MCM01",
"MCM01", "MCM01"
"MCM01",
"MCM02"
], ],
"name": "Location", "name": "Location",
"type": "String" "type": "String"
}, },
{ {
"data": [ "data": [
"Diagnostic", "Low",
"High", "High",
"Medium", "Low"
"Diagnostic"
], ],
"name": "Priority", "name": "Priority",
"type": "String" "type": "String"
@ -38,7 +36,6 @@
{ {
"data": [ "data": [
1, 1,
2,
1, 1,
1 1
], ],
@ -51,7 +48,7 @@
"params": { "params": {
"value": { "value": {
"tagProps": [ "tagProps": [
"", "MCM01",
"value", "value",
"value", "value",
"value", "value",
@ -66,35 +63,34 @@
}, },
"propConfig": { "propConfig": {
"custom.counts": { "custom.counts": {
"binding": {
"config": {
"struct": {
"PLC": "{view.params.value.tagProps[0]}"
},
"waitOnAll": true
},
"transforms": [
{
"code": " MCM \u003d value.PLC\n queryData \u003d self.custom.totalAlarms\n\n # Initialize counts\n counts \u003d {\n \"Critical\": 0,\n \"High\": 0,\n \"Medium\": 0,\n \"Low\": 0,\n \"Diagnostic\": 0,\n \"Total\": 0\n }\n\n # Loop through dataset and aggregate\n for row in range(queryData.rowCount):\n mcm_val \u003d queryData.getValueAt(row, 0)\n severity \u003d queryData.getValueAt(row, 1)\n count \u003d queryData.getValueAt(row, 2)\n\n if mcm_val \u003d\u003d MCM:\n \n key \u003d severity.capitalize()\n if key in counts:\n counts[key] +\u003d count\n counts[\"Total\"] +\u003d count\n\n return counts",
"type": "script"
}
],
"type": "expr-struct"
},
"persistent": true "persistent": true
}, },
"custom.totalAlarms": { "custom.totalAlarms": {
"binding": { "binding": {
"config": { "config": {
"polling": {
"enabled": true,
"rate": "3"
},
"queryPath": "GetActiveAlarmsByLocationAndPriority" "queryPath": "GetActiveAlarmsByLocationAndPriority"
}, },
"type": "query" "type": "query"
}, },
"onChange": {
"enabled": null,
"script": "\tMCM \u003d self.params.value.tagProps[0]\n\tqueryData \u003d currentValue.value\n\t\n\t# Initialize counts\n\tcounts \u003d {\n\t \"Critical\": 0,\n\t \"High\": 0,\n\t \"Medium\": 0,\n\t \"Low\": 0,\n\t \"Diagnostic\": 0,\n\t \"Total\": 0\n\t}\n\t\n\t# Loop through dataset and aggregate\n\tfor row in range(queryData.rowCount):\n\t mcm_val \u003d queryData.getValueAt(row, 0)\n\t severity \u003d queryData.getValueAt(row, 1)\n\t count \u003d queryData.getValueAt(row, 2)\n\t\n\t if mcm_val \u003d\u003d MCM:\n\t key \u003d severity.capitalize()\n\t if key in counts:\n\t counts[key] +\u003d count\n\t counts[\"Total\"] +\u003d count\n\t \n\tself.custom.counts \u003d counts"
},
"persistent": true "persistent": true
}, },
"params.value": { "params.value": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
},
"params.value.tagProps": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.print(currentValue.value[0])"
}
} }
}, },
"props": { "props": {

View File

@ -1,9 +1,41 @@
{ {
"custom": {}, "custom": {
"state": {
"$": [
"ds",
192,
1751989861336
],
"$columns": [
{
"data": [
null
],
"name": "Location",
"type": "String"
},
{
"data": [
"Low"
],
"name": "Priority",
"type": "String"
},
{
"data": [
1
],
"name": "Count",
"type": "Long"
}
]
},
"status": ""
},
"params": { "params": {
"value": { "value": {
"tagProps": [ "tagProps": [
"", "value",
"value", "value",
"value", "value",
"value", "value",
@ -17,6 +49,26 @@
} }
}, },
"propConfig": { "propConfig": {
"custom.state": {
"binding": {
"config": {
"polling": {
"enabled": true,
"rate": "1"
},
"queryPath": "GetActiveAlarmsByLocationAndPriority"
},
"type": "query"
},
"onChange": {
"enabled": null,
"script": "\tMCM \u003d self.params.value.tagProps[0]\n\tqueryData \u003d currentValue.value\n\t\n\tif not queryData:\n\t self.custom.status \u003d \"\"\n\t\n\t# Define priority order from highest to lowest\n\tpriority_order \u003d [\"Critical\", \"High\", \"Medium\", \"Low\", \"Diagnostic\"]\n\texisting_priorities \u003d set()\n\tmyPriority \u003d \"\"\n\t\n\t# Populate the set\n\tfor row in range(queryData.rowCount):\n\t mcm_val \u003d queryData.getValueAt(row, 0)\n\t severity \u003d queryData.getValueAt(row, 1).capitalize()\n\t count \u003d queryData.getValueAt(row, 2)\n\t\n\t if mcm_val \u003d\u003d MCM and count \u003e 0:\n\t existing_priorities.add(severity)\n\t\n\t# Find the highest one that exists\n\tfor priority in priority_order:\n\t if priority in existing_priorities:\n\t myPriority \u003d priority\n\t break\n\t\n\tself.custom.status \u003d myPriority"
},
"persistent": true
},
"custom.status": {
"persistent": true
},
"params.value": { "params.value": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
@ -49,59 +101,35 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"custom.status": {
"binding": {
"config": {
"path": "/root.custom.status"
},
"type": "property"
}
},
"props.style.classes": { "props.style.classes": {
"binding": { "binding": {
"config": { "config": {
"path": "this.custom.status" "path": "view.custom.status"
}, },
"transforms": [ "transforms": [
{ {
"fallback": "State-Styles/State0", "fallback": "State-Styles/Background-Fill/State5",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": "High",
"output": "State-Styles/Background-Fill/State1" "output": "State-Styles/Background-Fill/State1"
}, },
{ {
"input": 2, "input": "Medium",
"output": "State-Styles/Background-Fill/State2" "output": "State-Styles/Background-Fill/State2"
}, },
{ {
"input": 3, "input": "Low",
"output": "State-Styles/Background-Fill/State3" "output": "State-Styles/Background-Fill/State3"
}, },
{ {
"input": 4, "input": "Diagnostic",
"output": "State-Styles/Background-Fill/State4" "output": "State-Styles/Background-Fill/State4"
},
{
"input": 5,
"output": "State-Styles/Background-Fill/State5"
},
{
"input": 6,
"output": "State-Styles/Background-Fill/State6"
},
{
"input": 0,
"output": "State-Styles/State0"
} }
], ],
"outputType": "style-list", "outputType": "style-list",
"type": "map" "type": "map"
},
{
"expression": "if({session.custom.colours.colour_impaired},{value}+\u0027_Alt\u0027,{value})",
"type": "expression"
} }
], ],
"type": "property" "type": "property"
@ -110,36 +138,28 @@
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
"path": "this.custom.status" "path": "view.custom.status"
}, },
"transforms": [ "transforms": [
{ {
"fallback": null, "fallback": "HEALTHY",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 5, "input": "Diagnostic",
"output": "HEALTHY"
},
{
"input": 4,
"output": "DIAGNOSTIC" "output": "DIAGNOSTIC"
}, },
{ {
"input": 3, "input": "Low",
"output": "PROCESS DEGRADED" "output": "HALF WORKFLOW"
}, },
{ {
"input": 2, "input": "Medium",
"output": "STOPPED" "output": "CONTROLLED STOP"
}, },
{ {
"input": 1, "input": "High",
"output": "FAULTED" "output": "UNCONTROLLED STOP"
},
{
"input": 6,
"output": null
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -169,78 +189,6 @@
"meta": { "meta": {
"name": "root" "name": "root"
}, },
"propConfig": {
"custom.has_role": {
"binding": {
"config": {
"expression": "{session.custom.fc}"
},
"transforms": [
{
"code": "\trme_role \u003d value +\"-rme-all\"\n\troles \u003d (self.session.props.auth.user.roles)\n\tif (rme_role.lower() in roles \n\tor rme_role.upper() in roles):\n\t\treturn True\n\telse:\n\t\treturn False",
"type": "script"
}
],
"type": "expr"
}
},
"custom.status": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
"expression": "if(isNull({value}), 0, {value})",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"custom.tag_path_to_lookup": {
"binding": {
"config": {
"expression": " \"[\\\"\" + {view.params.value.tagProps[0]} + \"\\\"]\""
},
"type": "expr"
}
}
},
"props": { "props": {
"direction": "column" "direction": "column"
}, },

View File

@ -208,146 +208,43 @@
"type": "ia.display.label" "type": "ia.display.label"
}, },
{ {
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.session.custom.covert\u003d False\n\tnavigation.navigate_to_page.detailed_view(self, self.view.params.tagProps[0],self.view.params.tagProps[0], self.view.params.tagProps[3])"
},
"enabled": false,
"scope": "G",
"type": "script"
}
}
},
"meta": { "meta": {
"name": "Label" "name": "EmbeddedView"
}, },
"position": { "position": {
"basis": "236px" "basis": "200px"
}, },
"propConfig": { "propConfig": {
"custom.status": { "props.params.value.tagProps[0]": {
"binding": { "binding": {
"config": { "config": {
"path": "/root.custom.status" "expression": "{view.params.tagProps[0]}"
}, },
"type": "property" "type": "expr"
}
},
"props.style.classes": {
"binding": {
"config": {
"path": "this.custom.status"
},
"transforms": [
{
"fallback": "State-Styles/State0",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "State-Styles/Background-Fill/State1"
},
{
"input": 2,
"output": "State-Styles/Background-Fill/State2"
},
{
"input": 3,
"output": "State-Styles/Background-Fill/State3"
},
{
"input": 4,
"output": "State-Styles/Background-Fill/State4"
},
{
"input": 5,
"output": "State-Styles/Background-Fill/State5"
},
{
"input": 6,
"output": "State-Styles/Background-Fill/State6"
},
{
"input": 0,
"output": "State-Styles/State0"
}
],
"outputType": "style-list",
"type": "map"
},
{
"expression": "if({session.custom.colours.colour_impaired},{value}+\u0027_Alt\u0027,{value})",
"type": "expression"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"path": "this.custom.status"
},
"transforms": [
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 5,
"output": "HEALTHY"
},
{
"input": 4,
"output": "DIAGNOSTIC"
},
{
"input": 3,
"output": "PROCESS DEGRADED"
},
{
"input": 2,
"output": "STOPPED"
},
{
"input": 1,
"output": "FAULTED"
},
{
"input": 6,
"output": null
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
} }
} }
}, },
"props": { "props": {
"style": { "params": {
"borderBottomLeftRadius": 5, "key": "value",
"borderBottomRightRadius": 5, "value": {
"borderColor": "#555555", "tagProps": [
"borderStyle": "solid", null,
"borderTopLeftRadius": 5, "value",
"borderTopRightRadius": 5, "value",
"borderWidth": 2, "value",
"marginBottom": 10, "value",
"marginLeft": 50, "value",
"marginRight": 10, "value",
"marginTop": 10 "value",
"value",
"value"
]
}
}, },
"textStyle": { "path": "Symbol-Views/Controller-Views/CommandControlStatus"
"fontSize": 12,
"textAlign": "center"
}
}, },
"type": "ia.display.label" "type": "ia.display.view"
} }
], ],
"meta": { "meta": {
@ -357,6 +254,7 @@
"basis": "80px" "basis": "80px"
}, },
"props": { "props": {
"justify": "space-around",
"style": { "style": {
"borderBottomColor": "#555555", "borderBottomColor": "#555555",
"borderBottomStyle": "solid", "borderBottomStyle": "solid",
@ -530,7 +428,7 @@
"basis": "32px" "basis": "32px"
}, },
"props": { "props": {
"text": 2, "text": 0,
"textStyle": { "textStyle": {
"fontSize": 10, "fontSize": 10,
"textAlign": "center" "textAlign": "center"
@ -588,7 +486,7 @@
"basis": "32px" "basis": "32px"
}, },
"props": { "props": {
"text": 3, "text": 0,
"textStyle": { "textStyle": {
"fontSize": 10, "fontSize": 10,
"textAlign": "center" "textAlign": "center"
@ -617,7 +515,7 @@
"basis": "32px" "basis": "32px"
}, },
"props": { "props": {
"text": 1, "text": 0,
"textStyle": { "textStyle": {
"fontSize": 10, "fontSize": 10,
"textAlign": "center" "textAlign": "center"
@ -646,7 +544,7 @@
"basis": "32px" "basis": "32px"
}, },
"props": { "props": {
"text": 6, "text": 0,
"textStyle": { "textStyle": {
"fontSize": 10, "fontSize": 10,
"textAlign": "center" "textAlign": "center"
@ -711,9 +609,9 @@
"custom": { "custom": {
"counts": { "counts": {
"Critical": 0, "Critical": 0,
"Diagnostic": 1, "Diagnostic": 0,
"High": 2, "High": 0,
"Low": 3, "Low": 0,
"Medium": 0 "Medium": 0
} }
}, },

View File

@ -30,14 +30,14 @@
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -218,27 +218,9 @@
"props.color": { "props.color": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.disconnected},\r\n \u0027#D3D3D3\u0027,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \u0027#FF0000\u0027,\r\n if(\r\n {view.custom.state} \u003d 0,\r\n \u0027#00D900\u0027,\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n)\r\n"
}, },
"transforms": [ "type": "expr"
{
"fallback": "#00CC00",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FF0000"
},
{
"input": 0,
"output": "#00CC00"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
} }
} }
}, },
@ -273,6 +255,7 @@
"name": "root", "name": "root",
"text": "", "text": "",
"tooltip": { "tooltip": {
"enabled": true,
"style": {} "style": {}
} }
}, },
@ -290,6 +273,14 @@
{ {
"input": 1, "input": 1,
"output": "Alarms-Styles/High" "output": "Alarms-Styles/High"
},
{
"input": 2,
"output": "Alarms-Styles/High"
},
{
"input": 3,
"output": "Alarms-Styles/High"
} }
], ],
"outputType": "style-list", "outputType": "style-list",
@ -314,37 +305,10 @@
}, },
"type": "property" "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": { "props": {
"direction": "column", "direction": "column"
"style": {}
}, },
"type": "ia.container.flex" "type": "ia.container.flex"
} }

View File

@ -10,8 +10,8 @@
"attributes": { "attributes": {
"lastModification": { "lastModification": {
"actor": "external", "actor": "external",
"timestamp": "2025-04-08T09:28:16Z" "timestamp": "2025-07-01T15:29:04Z"
}, },
"lastModificationSignature": "d3b6122f7f2c1673b8a052ba4ea86c26a488ee6a79de1d9d9bc84f0f0dd5fb0b" "lastModificationSignature": "d1bc5856a4586e4ea93fb7c434504e9f454336875db0b324db2ef789238f84b5"
} }
} }

View File

@ -47,6 +47,14 @@
"grow": 1 "grow": 1
}, },
"propConfig": { "propConfig": {
"props.tagProps[0]": {
"binding": {
"config": {
"path": "view.params.panel_id"
},
"type": "property"
}
},
"props.text": { "props.text": {
"binding": { "binding": {
"config": { "config": {
@ -63,6 +71,18 @@
"borderWidth": "0.5px", "borderWidth": "0.5px",
"cursor": "pointer" "cursor": "pointer"
}, },
"tagProps": [
null,
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
],
"textStyle": { "textStyle": {
"color": "#000000", "color": "#000000",
"fontFamily": "inherit", "fontFamily": "inherit",
@ -71,44 +91,6 @@
} }
}, },
"type": "ia.input.button" "type": "ia.input.button"
},
{
"meta": {
"name": "Main_Panel"
},
"position": {
"basis": "20%",
"grow": 1
},
"propConfig": {
"props.params.tagProps[0]": {
"binding": {
"config": {
"path": "view.params.panel_id"
},
"type": "property"
}
}
},
"props": {
"params": {
"has_state": false,
"tagProps": [
null,
"",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Main_Panel"
},
"type": "ia.display.view"
} }
], ],
"meta": { "meta": {

View File

@ -1,24 +1,19 @@
{ {
"custom": { "custom": {
"alarm_message": null, "alarm_message": null,
"covert_mode": true,
"disconnected": false, "disconnected": false,
"display_icon": true, "plc": "System",
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "Unknown",
"searchId": "PLC01", "searchId": "value",
"state": 5, "state": 0,
"status": 0, "state_string": "Normal"
"visible_status": false
}, },
"params": { "params": {
"color": 1, "color": 1,
"forceFaultStatus": null, "forceFaultStatus": null,
"tagProps": [ "tagProps": [
"value", "System/MCM01/StationR/UL1_3_JR_PB1",
"value", "value",
"value", "value",
"value", "value",
@ -34,35 +29,20 @@
"custom.alarm_message": { "custom.alarm_message": {
"persistent": true "persistent": true
}, },
"custom.covert_mode": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_running},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {session.custom.alarm_filter.show_running},\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t5, {session.custom.alarm_filter.show_running},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": { "custom.disconnected": {
"binding": { "binding": {
"config": { "config": {
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/Pressed"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -70,39 +50,6 @@
}, },
"persistent": true "persistent": true
}, },
"custom.display_icon": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode}||{this.custom.isMatch}\u003e0"
},
"type": "expr"
},
"persistent": true
},
"custom.error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "0 \u003c {value} \u0026\u0026 {value} \u003c 5",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.isMatch": {
"binding": {
"config": {
"expression": "if({view.params.tagProps[0]}\u003d\"value\",0,\nif({this.custom.searchId}\u003d{view.params.tagProps[0]},100,0))"
},
"type": "expr"
},
"persistent": true
},
"custom.plc": { "custom.plc": {
"binding": { "binding": {
"config": { "config": {
@ -130,7 +77,7 @@
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": 4 "output": 1
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -144,7 +91,7 @@
"custom.priority_string": { "custom.priority_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Low\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -168,44 +115,7 @@
"0": "{view.params.tagProps[0]}", "0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Alarm/PR_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.status": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
@ -217,10 +127,10 @@
}, },
"persistent": true "persistent": true
}, },
"custom.visible_status": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "{view.custom.state} !\u003d 5" "expression": "case({view.custom.state},\r\n1, \"Package Release Pressed\",\r\n0, \"Normal\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -259,86 +169,18 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"expression": "\u0027#B2B2B2\u0027" "expression": "if(\r\n {view.custom.disconnected},\r\n \u0027#999999\u0027,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \u0027#D5D5D5\u0027,\r\n if(\r\n {view.custom.state} \u003d 0,\r\n \u0027#D5D5D5\u0027,\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n)\r\n"
}, },
"transforms": [
{
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "expr" "type": "expr"
} }
}, },
"props.elements[1].fill.paint": { "props.elements[1].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"expression": "if(\r\n {view.params.color} \u003d 1,\r\n if({view.custom.status} \u003d 1, \"#FFFFFF\", \"#D5D5D5\"),\r\nif(\r\n {view.params.color} \u003d 2,\r\n if({view.custom.status} \u003d 1, \"#00FD47\", \"#00CC00\"),\r\n \"#150808\"\r\n))\r\n" "expression": "if(\r\n {view.custom.disconnected} \u0026\u0026 {view.params.color} \u003d 1,\r\n \"#D5D5D5\",\r\n if(\r\n {view.custom.disconnected} \u0026\u0026 {view.params.color} \u003d 2,\r\n \"#00D900\",\r\n if(\r\n {view.params.color} \u003d 1,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \"#FF0000\",\r\n \"#D5D5D5\"\r\n ),\r\n if(\r\n {view.params.color} \u003d 2,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \"#FF0000\",\r\n \"#00D900\"\r\n ),\r\n \"#D5D5D5\"\r\n )\r\n )\r\n )\r\n)\r\n"
}, },
"type": "expr" "type": "expr"
} }
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True \u0026\u0026 {view.custom.isMatch} \u003e 0,\r\n{view.custom.state} + 100 + {view.custom.isMatch},\r\n{view.custom.state} + {view.custom.isMatch})"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": 101,
"output": "State-Styles/State101"
},
{
"input": 102,
"output": "State-Styles/State102"
},
{
"input": 103,
"output": "State-Styles/State103"
},
{
"input": 104,
"output": "State-Styles/State104"
},
{
"input": 105,
"output": "State-Styles/State105"
},
{
"input": 106,
"output": "State-Styles/State106"
},
{
"input": 201,
"output": "State-Styles/State201"
},
{
"input": 202,
"output": "State-Styles/State202"
},
{
"input": 203,
"output": "State-Styles/State203"
},
{
"input": 204,
"output": "State-Styles/State204"
},
{
"input": 205,
"output": "State-Styles/State205"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
} }
}, },
"props": { "props": {
@ -364,7 +206,6 @@
"type": "path" "type": "path"
} }
], ],
"style": {},
"viewBox": "0 0 20 20" "viewBox": "0 0 20 20"
}, },
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
@ -374,7 +215,7 @@
"dom": { "dom": {
"onClick": { "onClick": {
"config": { "config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" "script": "\tsystem.perspective.openDock(\u0027Docked-East-BTN\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -403,20 +244,6 @@
} }
}, },
"propConfig": { "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": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -451,24 +278,10 @@
"type": "expr" "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": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
@ -480,32 +293,6 @@
}, },
"type": "property" "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": { "props": {

View File

@ -719,7 +719,8 @@
"aspectRatio": "40:25", "aspectRatio": "40:25",
"mode": "percent", "mode": "percent",
"style": { "style": {
"cursor": "pointer" "cursor": "pointer",
"overflow": "hidden"
} }
}, },
"type": "ia.container.coord" "type": "ia.container.coord"

View File

@ -1,18 +1,13 @@
{ {
"custom": { "custom": {
"alarm_message": null, "alarm_message": null,
"covert_mode": true, "disconnected": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value", "plc": "value",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "No active alarms",
"running_status": 0,
"searchId": "value", "searchId": "value",
"state": 5, "state": 0,
"state_string": "Unknown" "state_string": "Normal"
}, },
"params": { "params": {
"forceFaultStatus": null, "forceFaultStatus": null,
@ -32,38 +27,20 @@
] ]
}, },
"propConfig": { "propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_gateways},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm}||{session.custom.alarm_filter.show_gateways},\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic}||{session.custom.alarm_filter.show_gateways},\r\n\t\t5, {session.custom.alarm_filter.show_gateways},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": { "custom.disconnected": {
"binding": { "binding": {
"config": { "config": {
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -71,39 +48,6 @@
}, },
"persistent": true "persistent": true
}, },
"custom.display_icon": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode}//||{this.custom.isMatch}\u003e0"
},
"type": "expr"
},
"persistent": true
},
"custom.error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "0 \u003c {value} \u0026\u0026 {value} \u003c 5",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.isMatch": {
"binding": {
"config": {
"expression": "if({view.params.tagProps[0]}\u003d\"value\",0,\nif({this.custom.searchId}\u003d{view.params.tagProps[0]},100,0))"
},
"type": "expr"
},
"persistent": true
},
"custom.plc": { "custom.plc": {
"binding": { "binding": {
"config": { "config": {
@ -157,33 +101,12 @@
"custom.priority_string": { "custom.priority_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n1, \"High\",\r\n2, \"Medium\",\r\n3, \"Low\",\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"High\",\r\n0, \"No active alarms\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
"persistent": true "persistent": true
}, },
"custom.running_status": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceRunningStatus},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.searchId": { "custom.searchId": {
"binding": { "binding": {
"config": { "config": {
@ -202,40 +125,12 @@
"0": "{view.params.tagProps[0]}", "0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression" "type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "tag" "type": "tag"
@ -245,7 +140,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.running_status},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Communication Faulted\",\r\n0, \"Normal\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -288,80 +183,8 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.disconnected},\r\n \u0027#808080\u0027,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \u0027#FF0000\u0027,\r\n if(\r\n {view.custom.state} \u003d 0,\r\n \u0027#00D900\u0027,\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n)\r\n"
}, },
"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"
},
{
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True \u0026\u0026 {view.custom.isMatch} \u003e 0,\r\n{view.custom.state} + 100 + {view.custom.isMatch},\r\n{view.custom.state} + {view.custom.isMatch})"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": 101,
"output": "State-Styles/State101"
},
{
"input": 102,
"output": "State-Styles/State102"
},
{
"input": 103,
"output": "State-Styles/State103"
},
{
"input": 104,
"output": "State-Styles/State104"
},
{
"input": 105,
"output": "State-Styles/State105"
},
{
"input": 106,
"output": "State-Styles/State106"
},
{
"input": 201,
"output": "State-Styles/State201"
},
{
"input": 202,
"output": "State-Styles/State202"
},
{
"input": 203,
"output": "State-Styles/State203"
},
{
"input": 204,
"output": "State-Styles/State204"
},
{
"input": 205,
"output": "State-Styles/State205"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr" "type": "expr"
} }
} }
@ -393,7 +216,6 @@
} }
], ],
"preserveAspectRatio": "none", "preserveAspectRatio": "none",
"style": {},
"viewBox": "-0.5 -0.5 62 41" "viewBox": "-0.5 -0.5 62 41"
}, },
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
@ -403,7 +225,7 @@
"dom": { "dom": {
"onClick": { "onClick": {
"config": { "config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" "script": "\tsystem.perspective.openDock(\u0027Docked-East-DS\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -434,20 +256,6 @@
} }
}, },
"propConfig": { "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": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -482,68 +290,22 @@
"type": "expr" "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": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
},
"meta.visible": {
"binding": {
"config": {
"path": "view.custom.display_icon"
},
"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": { "props": {
"aspectRatio": "68:47", "aspectRatio": "68:47",
"mode": "percent", "mode": "percent",
"style": { "style": {
"cursor": "pointer" "classes": "Disconnects/Device-Connected",
"cursor": "pointer",
"overflow": "hidden"
} }
}, },
"type": "ia.container.coord" "type": "ia.container.coord"

View File

@ -1,29 +1,20 @@
{ {
"custom": { "custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false, "disconnected": false,
"display_icon": true, "openDiverter": false,
"error": false, "plc": "System",
"isMatch": 0,
"plc": "value",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "No active alarms",
"running": false, "searchId": "value",
"searchId": "PLC01", "state": 0,
"show_error": false, "state_string": "Closed"
"show_running": true,
"state": 5,
"state_string": "Unknown",
"visible_status": false
}, },
"params": { "params": {
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"mirror": true, "mirror": true,
"openDiverter": true,
"tagProps": [ "tagProps": [
"value", "System/MCM01/Station/EPC/UL1_3_EPC1",
"value", "value",
"value", "value",
"value", "value",
@ -36,38 +27,20 @@
] ]
}, },
"propConfig": { "propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_running},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {session.custom.alarm_filter.show_running},\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t5, {session.custom.alarm_filter.show_running},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": { "custom.disconnected": {
"binding": { "binding": {
"config": { "config": {
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -75,39 +48,33 @@
}, },
"persistent": true "persistent": true
}, },
"custom.display_icon": { "custom.openDiverter": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode}||{this.custom.isMatch}\u003e0"
},
"type": "expr"
},
"persistent": true
},
"custom.error": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "path": "view.custom.state"
}, },
"transforms": [ "transforms": [
{ {
"expression": "0 \u003c {value} \u0026\u0026 {value} \u003c 5", "fallback": false,
"type": "expression" "inputType": "scalar",
"mappings": [
{
"input": 1,
"output": true
},
{
"input": 0,
"output": false
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "property" "type": "property"
}, },
"persistent": true "persistent": true
}, },
"custom.isMatch": {
"binding": {
"config": {
"expression": "if({view.params.tagProps[0]}\u003d\"value\",0,\nif({this.custom.searchId}\u003d{view.params.tagProps[0]},100,0))"
},
"type": "expr"
},
"persistent": true
},
"custom.plc": { "custom.plc": {
"binding": { "binding": {
"config": { "config": {
@ -135,18 +102,6 @@
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1 "output": 1
} }
], ],
@ -161,41 +116,12 @@
"custom.priority_string": { "custom.priority_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n1, \"High\",\r\n2, \"Medium\",\r\n3, \"Low\",\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Low\",\r\n0, \"No active alarms\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
"persistent": true "persistent": true
}, },
"custom.running": {
"binding": {
"config": {
"expression": "{view.custom.running_status} \u003d 3"
},
"type": "expr"
},
"persistent": true
},
"custom.running_status": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceRunningStatus},0)",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.searchId": { "custom.searchId": {
"binding": { "binding": {
"config": { "config": {
@ -205,36 +131,6 @@
}, },
"persistent": true "persistent": true
}, },
"custom.show_error": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_low_alarm} || {view.custom.isMatch}\u003e0,\r\n\t\t4, {session.custom.alarm_filter.show_diagnostic} || {view.custom.isMatch}\u003e0,\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.show_running": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t1, False,\r\n\t\t2, False,\r\n\t\t{session.custom.alarm_filter.show_running}\r\n\t\t)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.state": { "custom.state": {
"binding": { "binding": {
"config": { "config": {
@ -244,40 +140,12 @@
"0": "{view.params.tagProps[0]}", "0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression" "type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 5
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "tag" "type": "tag"
@ -287,16 +155,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.running_status},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n0, \"Closed\",\r\n1, \"Open\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.visible_status": {
"binding": {
"config": {
"expression": "{view.custom.state} !\u003d 5"
}, },
"type": "expr" "type": "expr"
}, },
@ -314,10 +173,6 @@
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
}, },
"params.openDiverter": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": { "params.tagProps": {
"paramDirection": "input", "paramDirection": "input",
"persistent": true "persistent": true
@ -325,8 +180,8 @@
}, },
"props": { "props": {
"defaultSize": { "defaultSize": {
"height": 1045, "height": 16,
"width": 1130 "width": 15
} }
}, },
"root": { "root": {
@ -342,7 +197,7 @@
"position.display": { "position.display": {
"binding": { "binding": {
"config": { "config": {
"expression": "{view.params.openDiverter} \u0026\u0026 {view.params.mirror}" "expression": "{view.custom.openDiverter} \u0026\u0026 {view.params.mirror}"
}, },
"type": "expr" "type": "expr"
} }
@ -364,15 +219,9 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.running_status" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
}, },
"transforms": [ "type": "expr"
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
} }
} }
}, },
@ -408,7 +257,7 @@
"position.display": { "position.display": {
"binding": { "binding": {
"config": { "config": {
"expression": "!{view.params.openDiverter} \u0026\u0026 {view.params.mirror}" "expression": "!{view.custom.openDiverter} \u0026\u0026 {view.params.mirror}"
}, },
"type": "expr" "type": "expr"
} }
@ -430,15 +279,9 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.running_status" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
}, },
"transforms": [ "type": "expr"
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
} }
} }
}, },
@ -474,7 +317,7 @@
"position.display": { "position.display": {
"binding": { "binding": {
"config": { "config": {
"expression": "{view.params.openDiverter} \u0026\u0026 !{view.params.mirror}" "expression": "{view.custom.openDiverter} \u0026\u0026 !{view.params.mirror}"
}, },
"type": "expr" "type": "expr"
} }
@ -496,15 +339,9 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.running_status" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
}, },
"transforms": [ "type": "expr"
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
} }
} }
}, },
@ -541,7 +378,7 @@
"position.display": { "position.display": {
"binding": { "binding": {
"config": { "config": {
"expression": "!{view.params.openDiverter} \u0026\u0026 !{view.params.mirror}" "expression": "!{view.custom.openDiverter} \u0026\u0026 !{view.params.mirror}"
}, },
"type": "expr" "type": "expr"
} }
@ -563,15 +400,9 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.running_status" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#808080\", \"#FF0000\", \"#FFF000\"\r\n )\r\n)\r\n"
}, },
"transforms": [ "type": "expr"
{
"expression": "case(\t{value}, \r\n\t\t1, {session.custom.colours.state0},\r\n\t\t2, {session.custom.colours.state0},\r\n\t\t3, {session.custom.colours.state5},\r\n\t\t\u0027#000000\u0027\r\n\t)\r\n\t\t\r\n",
"type": "expression"
}
],
"type": "property"
} }
} }
}, },
@ -633,20 +464,6 @@
} }
}, },
"propConfig": { "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": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -659,19 +476,7 @@
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low" "output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
} }
], ],
"outputType": "style-list", "outputType": "style-list",
@ -681,41 +486,20 @@
"type": "expr" "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": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
}, },
"meta.visible": {
"binding": {
"config": {
"path": "view.custom.display_icon"
},
"type": "property"
}
},
"props.style.borderStyle": { "props.style.borderStyle": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.disconnected" "path": "view.custom.disconnected"
}, },
"enabled": false,
"transforms": [ "transforms": [
{ {
"fallback": "", "fallback": "",
@ -736,68 +520,6 @@
], ],
"type": "property" "type": "property"
} }
},
"props.style.classes": {
"binding": {
"config": {
"expression": "if({session.custom.colours.colour_impaired} \u003d True \u0026\u0026 {view.custom.isMatch} \u003e 0,\r\n{view.custom.state} + 100 + {view.custom.isMatch},\r\n{view.custom.state} + {view.custom.isMatch})"
},
"transforms": [
{
"fallback": "",
"inputType": "scalar",
"mappings": [
{
"input": 101,
"output": "State-Styles/State101"
},
{
"input": 102,
"output": "State-Styles/State102"
},
{
"input": 103,
"output": "State-Styles/State103"
},
{
"input": 104,
"output": "State-Styles/State104"
},
{
"input": 105,
"output": "State-Styles/State105"
},
{
"input": 106,
"output": "State-Styles/State106"
},
{
"input": 201,
"output": "State-Styles/State201"
},
{
"input": 202,
"output": "State-Styles/State202"
},
{
"input": 203,
"output": "State-Styles/State203"
},
{
"input": 204,
"output": "State-Styles/State204"
},
{
"input": 205,
"output": "State-Styles/State205"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
} }
}, },
"props": { "props": {
@ -805,6 +527,7 @@
"justify": "center", "justify": "center",
"style": { "style": {
"borderColor": "#FF0000", "borderColor": "#FF0000",
"borderStyle": "none",
"borderWidth": "2px", "borderWidth": "2px",
"cursor": "pointer" "cursor": "pointer"
} }

View File

@ -0,0 +1,16 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": false,
"files": [
"view.json"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-24T07:17:56Z"
},
"lastModificationSignature": "bdc03d73c8ef5beb8021bd3661948edd869df058d44e67f6e471b9d2e23c3753"
}
}

View File

@ -0,0 +1,390 @@
{
"custom": {
"disconnected": true,
"plc": "value",
"priority": 0,
"priority_string": "No Active Alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Loading Not Allowed"
},
"params": {
"directionLeft": false,
"forceFaultStatus": null,
"forceRunningStatus": null,
"tagProps": [
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.disconnected": {
"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": "!isGood({value})",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.plc": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"expression": "split({value}, \"/\")[0]",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": 0
},
{
"input": 1,
"output": 0
},
{
"input": 2,
"output": 0
},
{
"input": 3,
"output": 3
},
{
"input": 4,
"output": 1
},
{
"input": 5,
"output": 1
},
{
"input": 6,
"output": 1
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"persistent": true
},
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "No Active Alarms"
},
{
"input": 1,
"output": "No Active Alarms"
},
{
"input": 2,
"output": "No Active Alarms"
},
{
"input": 3,
"output": "Low"
},
{
"input": 4,
"output": "High"
},
{
"input": 5,
"output": "High"
},
{
"input": 6,
"output": "High"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"onChange": {
"enabled": null,
"script": "\tif self.custom.priority not in [1, 2, 3, 4, 5, 6, 0]:\n\t self.custom.priority_string \u003d \"Unknown\""
},
"persistent": true
},
"custom.searchId": {
"binding": {
"config": {
"path": "session.custom.searchId"
},
"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},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n0, \"Loading Not Allowed\",\r\n1, \"Loading Allowed\",\r\n2, \"Running\",\r\n3, \"Full\",\r\n4, \"Communication Faulted\",\r\n5, \"Extendo Faulted\",\r\n6, \"Estopped\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.directionLeft": {
"paramDirection": "input",
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
},
"params.forceRunningStatus": {
"paramDirection": "input",
"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": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.elements[2].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#0000FF\",\r\n \"#FF0000\", \"#FF0000\", \"#FF0000\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
},
"type": "expr"
}
}
},
"props": {
"elements": [
{
"d": "M 50 0 L 65 0 L 80 30 L 65 60 L 50 60 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": "2"
},
"type": "path"
},
{
"d": "M 45 0 L 25 0 L 25 30 L 25 60 L 45 60 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": "2"
},
"type": "path"
},
{
"d": "M 0 0 L 20 0 L 20 30 L 20 60 L 0 60 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": "2"
},
"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-Extendo\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": 1,
"output": "Alarms-Styles/High"
},
{
"input": 2,
"output": "Alarms-Styles/Medium"
},
{
"input": 3,
"output": "Alarms-Styles/Low"
},
{
"input": 4,
"output": "Alarms-Styles/Diagnostic"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
}
},
"props": {
"justify": "center"
},
"type": "ia.container.flex"
}
}

View File

@ -1,5 +1,6 @@
{ {
"custom": { "custom": {
"alarm_message": null,
"disconnected": false, "disconnected": false,
"plc": "value", "plc": "value",
"priority": 0, "priority": 0,
@ -29,14 +30,14 @@
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -69,6 +70,14 @@
"fallback": 0, "fallback": 0,
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{
"input": 3,
"output": 1
},
{
"input": 2,
"output": 1
},
{ {
"input": 1, "input": 1,
"output": 1 "output": 1
@ -92,13 +101,21 @@
"fallback": "Unknown", "fallback": "Unknown",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{
"input": 0,
"output": "No active alarms"
},
{ {
"input": 1, "input": 1,
"output": "High" "output": "High"
}, },
{ {
"input": 0, "input": 2,
"output": "No active alarms" "output": "High"
},
{
"input": 3,
"output": "High"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -189,6 +206,28 @@
"width": 1 "width": 1
}, },
"propConfig": { "propConfig": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"transforms": [
{
"fallback": "#585858",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "#000000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[1].fill.paint": { "props.elements[1].fill.paint": {
"binding": { "binding": {
"config": { "config": {
@ -290,9 +329,7 @@
"elements": [ "elements": [
{ {
"d": "M 0,0 H 20 V 20 H 0 Z", "d": "M 0,0 H 20 V 20 H 0 Z",
"fill": { "fill": {},
"paint": "#585858"
},
"name": "path", "name": "path",
"stroke": { "stroke": {
"paint": "#000000", "paint": "#000000",
@ -343,20 +380,6 @@
} }
}, },
"propConfig": { "propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state2},\r\n3,{session.custom.colours.state3},\r\n{session.custom.colours.fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -369,7 +392,7 @@
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "Alarms-Styles/Diagnostic" "output": "Alarms-Styles/High"
}, },
{ {
"input": 2, "input": 2,
@ -391,24 +414,10 @@
"type": "expr" "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\t\u0027#FFFFFF\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
@ -420,32 +429,6 @@
}, },
"type": "property" "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": { "props": {

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": false,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-25T11:49:44Z"
},
"lastModificationSignature": "045959a70ccb798b7c70e8adac199ac94f28b69fa2525ce4644ed2f6f7e06d08"
}
}

View File

@ -0,0 +1,334 @@
{
"custom": {
"disconnected": true,
"plc": "MCM",
"priority": 0,
"priority_string": "No Active Alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Normal"
},
"params": {
"forceFaultStatus": null,
"forceRunningStatus": null,
"has_state": false,
"tagProps": [
"MCM",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.disconnected": {
"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": "!isGood({value})",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.plc": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"expression": "split({value}, \"/\")[0]",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 1
},
{
"input": 2,
"output": 1
},
{
"input": 3,
"output": 1
},
{
"input": 4,
"output": 1
},
{
"input": 5,
"output": 1
},
{
"input": 6,
"output": 1
},
{
"input": 7,
"output": 1
},
{
"input": 8,
"output": 1
},
{
"input": 9,
"output": 0
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"persistent": true
},
"custom.priority_string": {
"binding": {
"config": {
"expression": "case({view.custom.priority},\r\n1, \"High\",\r\n0, \"No Active Alarms\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.searchId": {
"binding": {
"config": {
"path": "session.custom.searchId"
},
"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},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Motor Was Faulted\",\r\n2, \"Power Branch Was Faulted\",\r\n3, \"Low Air Pressure Fault Was Present\",\r\n4, \"Encoder Fault\",\r\n5, \"Jam Fault\",\r\n6, \"Communication Faulted\",\r\n7, \"Estop Was Actuated\",\r\n8, \"Estopped Locally\",\r\n9, \"System Started\",\r\n0, \"Normal\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
},
"params.forceRunningStatus": {
"paramDirection": "input",
"persistent": true
},
"params.has_state": {
"paramDirection": "input",
"persistent": true
},
"params.tagProps": {
"paramDirection": "inout",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 46,
"width": 68
}
},
"root": {
"children": [
{
"meta": {
"name": "MCM"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \r\n \"#B3B3B3\", \"#FF0000\", \"#FF0000\", \"#FF0000\", \"#FF8C00\",\r\n \"#FF8C00\", \"#FF0000\", \"#FF0000\", \"#FF0000\", \"#00FF00\",\r\n \"#FFFF00\"\r\n )\r\n)\r\n"
},
"type": "expr"
},
"onChange": {
"enabled": false,
"script": ""
}
},
"props.elements[1].style.fill": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 1 0 H 60 V 40 H 1 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": 4
},
"type": "path"
},
{
"style": {
"classes": "",
"fontWeight": "bold"
},
"text": "MCM",
"type": "text",
"x": 11,
"y": 26
}
],
"preserveAspectRatio": "none",
"viewBox": "-0.5 -0.5 62 41"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-MCM\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": 1,
"output": "Alarms-Styles/High"
}
],
"outputType": "style-list",
"type": "map"
}
],
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
}
},
"props": {
"aspectRatio": "68:47",
"mode": "percent",
"style": {
"cursor": "pointer",
"overflow": "hidden"
}
},
"type": "ia.container.coord"
}
}

View File

@ -1,11 +1,10 @@
{ {
"custom": { "custom": {
"alarm_message": null,
"disconnected": false, "disconnected": false,
"plc": "value", "plc": "System",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "No active alarms",
"searchId": "PLC01", "searchId": "value",
"state": 0, "state": 0,
"state_string": "Normal" "state_string": "Normal"
}, },
@ -13,7 +12,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"value", "System/Station/EPC/UL1_3_EPC1",
"value", "value",
"value", "value",
"value", "value",
@ -32,14 +31,14 @@
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -92,16 +91,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "Unknown", "fallback": "No active alarms",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "High" "output": "High"
},
{
"input": 0,
"output": "No active alarms"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -136,22 +131,6 @@
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression" "type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 1
},
{
"input": 0,
"output": 0
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "tag" "type": "tag"
@ -161,7 +140,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Actuated\",\r\n0, \"Normal\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -202,27 +181,9 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#AAAAAA\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#AAAAAA\", \"#AAAAAA\", \r\n \"#FFFF00\"\r\n )\r\n)"
}, },
"transforms": [ "type": "expr"
{
"fallback": "#AC0000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#AAAAAA"
},
{
"input": 1,
"output": "#AAAAAA"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
} }
}, },
"props.elements[1].fill.paint": { "props.elements[1].fill.paint": {
@ -242,29 +203,17 @@
"props.elements[2].visibility": { "props.elements[2].visibility": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.state} \u003d 0 \u0026\u0026 \r\n {parent.meta.visible}, \r\n \u0027visible\u0027, \r\n \u0027hidden\u0027\r\n)"
}, },
"transforms": [ "type": "expr"
{
"expression": "if(\r\n !{value} \u0026\u0026 \r\n {view.custom.state} \u003d 0 \u0026\u0026 \r\n {parent.meta.visible}, \r\n \u0027visible\u0027, \r\n \u0027hidden\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
} }
}, },
"props.elements[3].visibility": { "props.elements[3].visibility": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.state} \u003e\u003d 1 \u0026\u0026 \r\n {parent.meta.visible}, \r\n \u0027visible\u0027, \r\n \u0027hidden\u0027\r\n)"
}, },
"transforms": [ "type": "expr"
{
"expression": "if(\r\n {value} \u0026\u0026 \r\n {view.custom.state} \u003e\u003d 1 \u0026\u0026 \r\n {parent.meta.visible}, \r\n \u0027visible\u0027, \r\n \u0027hidden\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
} }
} }
}, },
@ -367,20 +316,6 @@
} }
}, },
"propConfig": { "propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -403,24 +338,10 @@
"type": "expr" "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#000000\u0027,\r\n\t\t\t\u0027#FFFFFF\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
@ -432,32 +353,6 @@
}, },
"type": "property" "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": { "props": {

View File

@ -4,7 +4,7 @@
"plc": "value", "plc": "value",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "No active alarms",
"searchId": "PLC01", "searchId": "value",
"state": 0, "state": 0,
"state_string": "Normal" "state_string": "Normal"
}, },
@ -31,14 +31,14 @@
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -68,12 +68,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": 1, "fallback": 0,
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 0, "input": 1,
"output": 0 "output": 1
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -91,16 +91,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "Unknown", "fallback": "No active alarms",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "High" "output": "High"
},
{
"input": 0,
"output": "No active alarms"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -135,22 +131,6 @@
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression" "type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 1
},
{
"input": 0,
"output": 0
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "tag" "type": "tag"
@ -160,7 +140,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Actuated\",\r\n0, \"Normal\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -199,88 +179,8 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"path": "view.custom.state" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#AAAAAA\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#AAAAAA\", \"#FF0000\", \r\n \"#FFFF00\"\r\n )\r\n)\r\n"
}, },
"transforms": [
{
"fallback": "#AC0000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#AAAAAA"
},
{
"input": 1,
"output": "#B79D9D"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"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})"
},
"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" "type": "expr"
} }
} }
@ -299,7 +199,6 @@
} }
], ],
"preserveAspectRatio": "none", "preserveAspectRatio": "none",
"style": {},
"viewBox": "-0.5 -0.5 27 42" "viewBox": "-0.5 -0.5 27 42"
}, },
"type": "ia.shapes.svg" "type": "ia.shapes.svg"
@ -340,20 +239,6 @@
} }
}, },
"propConfig": { "propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -376,24 +261,10 @@
"type": "expr" "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#000000\u0027,\r\n\t\t\t\u0027#FFFFFF\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
@ -405,32 +276,6 @@
}, },
"type": "property" "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": { "props": {

View File

@ -1,11 +1,10 @@
{ {
"custom": { "custom": {
"alarm_message": null, "disconnected": true,
"disconnected": false,
"plc": "value", "plc": "value",
"priority": 0, "priority": 0,
"priority_string": "No active alarms", "priority_string": "No active alarms",
"searchId": "PLC01", "searchId": "value",
"state": 0, "state": 0,
"state_string": "Normal" "state_string": "Normal"
}, },
@ -32,14 +31,14 @@
"fallbackDelay": 2.5, "fallbackDelay": 2.5,
"mode": "indirect", "mode": "indirect",
"references": { "references": {
"fc": "{session.custom.fc}", "0": "{view.params.tagProps[0]}",
"plc": "{view.custom.plc}" "fc": "{session.custom.fc}"
}, },
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN" "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
}, },
"transforms": [ "transforms": [
{ {
"expression": "if(isNull({value}), False, {value})", "expression": "!isGood({value})",
"type": "expression" "type": "expression"
} }
], ],
@ -69,12 +68,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": 1, "fallback": 0,
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 0, "input": 1,
"output": 0 "output": 1
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -92,16 +91,12 @@
}, },
"transforms": [ "transforms": [
{ {
"fallback": "Unknown", "fallback": "No active alarms",
"inputType": "scalar", "inputType": "scalar",
"mappings": [ "mappings": [
{ {
"input": 1, "input": 1,
"output": "High" "output": "High"
},
{
"input": 0,
"output": "No active alarms"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -136,22 +131,6 @@
{ {
"expression": "coalesce({value},{view.params.forceFaultStatus},0)", "expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression" "type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": 1
},
{
"input": 0,
"output": 0
}
],
"outputType": "scalar",
"type": "map"
} }
], ],
"type": "tag" "type": "tag"
@ -161,7 +140,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n1, \"Actuated\",\r\n0, \"Normal\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -197,61 +176,15 @@
"width": 1 "width": 1
}, },
"propConfig": { "propConfig": {
"props.elements[0].stroke.paint": {
"binding": {
"config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#000000\",\r\n switch(\r\n toInt({view.custom.state}),\r\n 0, 1, \r\n \"#00D900\", \"#FF0000\", \r\n \"#FFFF00\"\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.elements[0].visibility": { "props.elements[0].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].stroke.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "#800000",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FF0000"
},
{
"input": 0,
"output": "#000000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[2].visibility": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({parent.meta.visible}, \u0027visible\u0027, \u0027hidden\u0027)" "expression": "if({parent.meta.visible}, \u0027visible\u0027, \u0027hidden\u0027)"
@ -262,30 +195,6 @@
}, },
"props": { "props": {
"elements": [ "elements": [
{
"d": "m -0.38931298,0.28431365 c 33.95623398,0 67.91246898,0 101.86870298,0",
"fill": {
"paint": "#FFFFFF"
},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 1
},
"type": "path"
},
{
"d": "m -0.38931298,10.850587 c 33.95623398,0 67.91246898,0 101.86870298,0",
"fill": {
"paint": "#FFFFFF"
},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 1
},
"type": "path"
},
{ {
"d": "m -0.38931298,5.5674501 c 33.95623398,0 67.91246898,0 101.86870298,0", "d": "m -0.38931298,5.5674501 c 33.95623398,0 67.91246898,0 101.86870298,0",
"fill": { "fill": {
@ -344,20 +253,6 @@
} }
}, },
"propConfig": { "propConfig": {
"meta.tooltip.style.backgroundColor": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.style.classes": { "meta.tooltip.style.classes": {
"binding": { "binding": {
"config": { "config": {
@ -380,24 +275,10 @@
"type": "expr" "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#000000\u0027,\r\n\t\t\t\u0027#FFFFFF\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"meta.tooltip.text": { "meta.tooltip.text": {
"binding": { "binding": {
"config": { "config": {
"expression": "if({view.custom.disconnected} \u003d False,\n\tif(isNull({view.custom.alarm_message}),\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string},\n\t\"Source Id: \" + {view.params.tagProps[0]} +\n\t\", Alarm: \" + {view.custom.alarm_message} +\n\t\", Priority: \" + {view.custom.priority_string} +\n\t\", State: \" + {view.custom.state_string}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")" "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n"
}, },
"type": "expr" "type": "expr"
} }
@ -409,32 +290,6 @@
}, },
"type": "property" "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": { "props": {

View File

@ -195,7 +195,7 @@
"props.elements[0].fill.paint": { "props.elements[0].fill.paint": {
"binding": { "binding": {
"config": { "config": {
"expression": "if(\r\n {view.custom.disconnected},\r\n \"#FFFFFF\",\r\n if(\r\n {view.custom.type} \u003d 0,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 3, \u0027#0008FF\u0027,\r\n \u0027#fff700\u0027\r\n ),\r\n if(\r\n {view.custom.type} \u003d 1,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 1, \u0027#C9FCC0\u0027,\r\n 2, \u0027#7F83FF\u0027,\r\n 3, \u0027#0008FF\u0027,\r\n 4, \u0027#FF8C00\u0027,\r\n 5, \u0027#FF4487\u0027,\r\n 6, \u0027#92FF00\u0027,\r\n \u0027#fff700\u0027\r\n ),\r\n if(\r\n {view.custom.type} \u003d 2,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 1, \u0027#C9FCC0\u0027,\r\n 2, \u0027#7F83FF\u0027,\r\n 3, \u0027#0008FF\u0027,\r\n 4, \u0027#FF8C00\u0027,\r\n \u0027#FFFFFF\u0027\r\n ),\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n )\r\n)\r\n" "expression": "if(\r\n {view.custom.disconnected},\r\n \"#FFFFFF\",\r\n if(\r\n {view.custom.type} \u003d 0,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 3, \u0027#0000FF\u0027,\r\n \u0027#fff700\u0027\r\n ),\r\n if(\r\n {view.custom.type} \u003d 1,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 1, \u0027#CCFFCC\u0027,\r\n 2, \u0027#FFFF00\u0027,\r\n 3, \u0027#0000FF\u0027,\r\n 4, \u0027#FF8C00\u0027,\r\n 5, \u0027#FF4487\u0027,\r\n 6, \u0027#92FF00\u0027,\r\n \u0027#fff700\u0027\r\n ),\r\n if(\r\n {view.custom.type} \u003d 2,\r\n case(\r\n {view.custom.state},\r\n 0, \u0027#c2c2c2\u0027,\r\n 1, \u0027#CCFFCC\u0027,\r\n 2, \u0027#FFFF00\u0027,\r\n 3, \u0027#0000FF\u0027,\r\n 4, \u0027#FF8C00\u0027,\r\n \u0027#FFFFFF\u0027\r\n ),\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n )\r\n)\r\n"
}, },
"type": "expr" "type": "expr"
} }
@ -290,40 +290,10 @@
}, },
"type": "expr" "type": "expr"
} }
},
"props.style.classes": {
"binding": {
"config": {
"path": "view.custom.disconnected"
},
"enabled": false,
"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": { "props": {
"justify": "center", "justify": "center"
"style": {
"classes": "Disconnects/Device-Connected"
}
}, },
"type": "ia.container.flex" "type": "ia.container.flex"
} }

View File

@ -7,7 +7,7 @@
version="1.1" version="1.1"
id="svg118" id="svg118"
sodipodi:docname="MCM04_Bulk_Inbound_Problem_Solve.svg" sodipodi:docname="MCM04_Bulk_Inbound_Problem_Solve.svg"
inkscape:version="1.4 (86a8ad7, 2024-10-11)" inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
xml:space="preserve" xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@ -23,15 +23,15 @@
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0" inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" inkscape:deskcolor="#d1d1d1"
inkscape:zoom="6.98078" inkscape:zoom="39.489255"
inkscape:cx="477.16731" inkscape:cx="926.55585"
inkscape:cy="768.32388" inkscape:cy="416.65765"
inkscape:window-width="3840" inkscape:window-width="3840"
inkscape:window-height="2043" inkscape:window-height="2054"
inkscape:window-x="-11" inkscape:window-x="3829"
inkscape:window-y="-11" inkscape:window-y="-11"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="g1" inkscape:current-layer="svg118"
showgrid="true" showgrid="true"
showguides="true"><inkscape:grid showguides="true"><inkscape:grid
id="grid2" id="grid2"
@ -135,19 +135,19 @@
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path sodipodi:nodetypes="cc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
d="m 59.008697,416.91576 c 0,0 2.3949,0.1384 4.8483,1.9519 2.4535,1.8135 2.6298,4.0417 2.6298,4.0417 l 19.1843,0.042 c 0,0 -1.2877,-10.5083 -9.0574,-17.6276 -7.7698,-7.1193 -17.605,-7.7898 -17.605,-7.7898 z" d="m 59.008697,417.0232 c 0,0 2.215837,0.0668 4.669237,1.88027 2.4535,1.8135 2.737238,3.93426 2.737238,3.93426 l 19.578239,0.11363 c 0,0 1.774278,-11.77965 -5.995422,-18.89895 -7.7698,-7.1193 -20.989292,-6.51845 -20.989292,-6.51845 z"
id="path3-3-2" id="path3-3-2"
sodipodi:nodetypes="czcczcc" /><path sodipodi:nodetypes="czcczcc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
d="m 93.149893,639.21225 c 0,0 -2.3949,-0.13845 -4.8483,-1.95195 -2.4535,-1.8135 -2.6298,-4.04161 -2.6298,-4.04161 l -19.1843,-0.042 c 0,0 1.2877,10.50828 9.0574,17.62757 7.7698,7.11929 17.605,7.78977 17.605,7.78977 z" d="m 93.078268,639.10841 c 0,0 -1.892778,-0.12579 -4.346178,-1.93929 -2.4535,-1.8135 -2.617138,-4.07705 -2.617138,-4.07705 l -19.627459,0.0846 c 0,0 -0.932682,10.93803 6.837018,18.05732 7.7698,7.11929 19.825382,7.36002 19.825382,7.36002 z"
id="path3-0-9" id="path3-0-9"
sodipodi:nodetypes="czcczcc" /><path sodipodi:nodetypes="czcczcc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
d="m 752.91823,492.16401 c 0,0 0.13845,-2.3949 1.95195,-4.8483 1.8135,-2.4535 4.04161,-2.6298 4.04161,-2.6298 l 0.042,-19.1843 c 0,0 -10.50828,1.2877 -17.62757,9.0574 -7.11929,7.7698 -7.78977,17.605 -7.78977,17.605 z" d="m 753.06148,492.27145 c 0,0 -0.14805,-2.50234 1.66545,-4.95574 1.8135,-2.4535 4.18486,-2.6298 4.18486,-2.6298 l 0.11363,-19.43499 c 0,0 -13.23004,-0.75362 -20.34933,7.01608 -7.11929,7.7698 -5.13964,19.89701 -5.13964,19.89701 z"
id="path3-0" id="path3-0"
sodipodi:nodetypes="czcczcc" /><path sodipodi:nodetypes="czcczcc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
d="m 1772.5334,765.97207 c 0,0 -2.3949,-0.1384 -4.8483,-1.9519 -2.4535,-1.8135 -2.6298,-4.0417 -2.6298,-4.0417 l -19.1843,-0.042 c 0,0 1.2877,10.5083 9.0574,17.6276 7.7698,7.1193 17.605,7.7898 17.605,7.7898 z" d="m 1772.6347,765.66819 c 0,0 -2.1417,0.14016 -4.5951,-1.67334 -2.4535,-1.8135 -2.7057,-4.01638 -2.7057,-4.01638 l -19.4629,-0.042 c 0,0 -1.903,11.87576 5.8667,18.99506 7.7698,7.1193 20.9223,6.14378 20.9223,6.14378 z"
id="path3-3" id="path3-3"
sodipodi:nodetypes="czcczcc" /><path sodipodi:nodetypes="czcczcc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
@ -867,11 +867,11 @@
id="path37" id="path37"
sodipodi:nodetypes="ccccc" /></g><path sodipodi:nodetypes="ccccc" /></g><path
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none;image-rendering:auto" style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none;image-rendering:auto"
d="m 914.34742,432.43882 18.97498,0.0328 c -0.002,-11.31853 7.37708,-16.43786 12.16059,-16.65275 l 0.003,-19.30793 c -20.10517,-0.0865 -21.72008,18.58541 -21.72008,18.58541 0,0 -3.58485,-18.79666 -21.84108,-18.64348 l -2e-5,19.34248 c 4.67775,0.10544 12.39117,5.31276 12.4226,16.64347 z" d="m 914.34742,432.43882 18.97498,0.0328 c -0.002,-11.31853 7.37708,-16.43786 12.16059,-16.65275 l 0.003,-19.30793 c -20.91584,0 -22.37849,12.81169 -22.37849,12.81169 0,0 -1.10124,-12.86976 -21.18267,-12.86976 l -2e-5,19.34248 c 4.67775,0.10544 12.39117,5.31276 12.4226,16.64347 z"
id="path2" id="path2"
sodipodi:nodetypes="ccccccccc" /><path sodipodi:nodetypes="ccccccccc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none"
d="m 1738.0969,484.8898 c 0,0 2.3949,0.13845 4.8483,1.95195 2.4535,1.8135 2.6298,4.04161 2.6298,4.04161 l 19.1843,0.042 c 0,0 -1.2877,-10.50828 -9.0574,-17.62757 -7.7698,-7.11929 -17.605,-7.78977 -17.605,-7.78977 z" d="m 1738.0969,484.8898 c 0,0 2.3949,0.13845 4.8483,1.95195 2.4535,1.8135 2.5582,4.0058 2.5582,4.0058 l 19.5424,0.0778 c 0,0 1.5057,-12.87191 -6.264,-19.9912 -7.7698,-7.11929 -20.7923,-5.6052 -20.7923,-5.6052 z"
id="path3" id="path3"
sodipodi:nodetypes="czcczcc" /><path sodipodi:nodetypes="czcczcc" /><path
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0" style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-dashoffset:0"

Before

Width:  |  Height:  |  Size: 412 KiB

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -8,7 +8,7 @@
version="1.1" version="1.1"
id="svg1" id="svg1"
xml:space="preserve" xml:space="preserve"
inkscape:version="1.4 (86a8ad7, 2024-10-11)" inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
sodipodi:docname="MCM05_Bulk_Inbound_Problem_Solve_+_Fluid_Inbound.svg" sodipodi:docname="MCM05_Bulk_Inbound_Problem_Solve_+_Fluid_Inbound.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
@ -23,15 +23,15 @@
inkscape:pagecheckerboard="0" inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:zoom="7.9999995" inkscape:zoom="31.999998"
inkscape:cx="367.50002" inkscape:cx="221.43751"
inkscape:cy="108.43751" inkscape:cy="526.98441"
inkscape:window-width="3840" inkscape:window-width="3840"
inkscape:window-height="2043" inkscape:window-height="2054"
inkscape:window-x="-11" inkscape:window-x="-11"
inkscape:window-y="-11" inkscape:window-y="-11"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="g65" inkscape:current-layer="layer1"
showguides="false"><sodipodi:guide showguides="false"><sodipodi:guide
position="2817.1135,105.93272" position="2817.1135,105.93272"
orientation="0,-1" orientation="0,-1"
@ -132,15 +132,15 @@
id="path112" id="path112"
sodipodi:nodetypes="ccccc" /><path sodipodi:nodetypes="ccccc" /><path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1" style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 1493.7517,513.23584 18.9448,0.0677 c 0.7002,16.45429 -12.8604,29.39305 -30.2172,28.20171 l 0.043,-19.00614 c 6.404,0.16342 10.8266,-3.09935 11.2143,-9.26332 z" d="m 1493.7517,513.23584 18.9448,0.0677 c 0.9621,22.9891 -9.7558,29.26218 -30.2172,28.20171 l 0.043,-19.40389 c 5.7411,-0.49949 9.9869,-3.27612 11.2143,-8.86557 z"
id="path15" id="path15"
sodipodi:nodetypes="cccccc" /><path sodipodi:nodetypes="cccccc" /><path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1" style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 186.85843,512.0006 c -0.7002,16.45429 7.0418,30.48237 24.3986,29.29103 l 0.015,-18.97482 c 0,-0.0828 -5.435,-1.00346 -5.2997,-10.23295 0,0 -18.9255,-0.16092 -19.1135,-0.0833 z" d="m 186.88968,513.7506 c -1.02254,18.28126 2.7637,28.0196 24.36735,27.54103 l 0.10875,-19.28732 c -0.1875,-0.1453 -5.84125,-1.22221 -5.45595,-8.3267 z"
id="path16" id="path16"
sodipodi:nodetypes="cccccc" /><path sodipodi:nodetypes="ccccc" /><path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1" style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
d="m 1493.978,253.40872 18.9975,0.0778 c -0.095,-16.3659 -4.589,-23.42684 -21.9016,-23.00894 l 0.1839,19.00369 c 2.3176,0.80836 2.6729,2.68116 2.7202,3.92742 z" d="m 1493.978,253.40872 18.9975,0.0778 c -0.095,-16.3659 -4.589,-23.42684 -21.9016,-23.00894 l 0.1839,19.22466 c 2.3176,0.80836 2.6729,2.46019 2.7202,3.70645 z"
id="path2" id="path2"
sodipodi:nodetypes="cccccc" /><path sodipodi:nodetypes="cccccc" /><path
style="fill:#ffffff;stroke:#000000" style="fill:#ffffff;stroke:#000000"

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,251 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "Extendo",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Unloading_Mode"
},
"valueSource": "opc",
"name": "Unloading_Mode",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.PEC_Override_PB"
},
"valueSource": "opc",
"name": "PEC_Override_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Loading_Mode"
},
"valueSource": "opc",
"name": "Loading_Mode",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Power_Saving_Mode"
},
"valueSource": "opc",
"name": "Power_Saving_Mode",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Extendo_Faults_Reset_PB"
},
"valueSource": "opc",
"name": "Extendo_Faults_Reset_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Aopen_Active"
},
"valueSource": "opc",
"name": "Aopen_Active",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Fully_Retracted"
},
"valueSource": "opc",
"name": "Fully_Retracted",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Fully_Extended"
},
"valueSource": "opc",
"name": "Fully_Extended",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE"
},
"valueSource": "opc",
"name": "STATE",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Faulted"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Communication Faulted",
"priority": "High"
}
],
"name": "Communication_Faulted",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Extendo_Faulted"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Extendo Faulted",
"priority": "High"
}
],
"name": "Extendo_Faulted",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStopped"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Estopped"
}
],
"name": "Estopped",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Full"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Full"
}
],
"name": "Full",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
}
]
}
]
},
{
"name": "Extendo",
"tagType": "Folder",
"tags": [
{
"name": "FL4066_4_EX1",
"typeId": "Extendo",
"tagType": "UdtInstance",
"tags": [
{
"name": "Power_Saving_Mode",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Faulted",
"tagType": "AtomicTag"
},
{
"name": "Extendo_Faulted",
"tagType": "AtomicTag"
},
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Full",
"tagType": "AtomicTag"
}
]
},
{
"name": "Fully_Retracted",
"tagType": "AtomicTag"
},
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Aopen_Active",
"tagType": "AtomicTag"
},
{
"name": "Fully_Extended",
"tagType": "AtomicTag"
},
{
"name": "PEC_Override_PB",
"tagType": "AtomicTag"
},
{
"name": "Extendo_Faults_Reset_PB",
"tagType": "AtomicTag"
},
{
"name": "Loading_Mode",
"tagType": "AtomicTag"
},
{
"name": "Unloading_Mode",
"tagType": "AtomicTag"
}
]
}
]
}
]
}

622
tags/Simulation/MCM.json Normal file
View File

@ -0,0 +1,622 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "MCM",
"typeId": "MCM",
"tagType": "UdtInstance",
"tags": [
{
"name": "EStop_Actuated_LT",
"tagType": "AtomicTag"
},
{
"name": "Motor_Fault_Reset_PB_LT",
"tagType": "AtomicTag"
},
{
"name": "Jam_Restart_PB_LT",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Estop_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Jam_Restart_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Power_Branch_Fault_Reset_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "On_UPS_Battery",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "NAT_Switch_Fault",
"tagType": "AtomicTag"
},
{
"name": "UPS_Battery_On",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
},
{
"name": "Jam_Fault",
"tagType": "AtomicTag"
},
{
"name": "Encoder_Fault",
"tagType": "AtomicTag"
},
{
"name": "UPS_Fault",
"tagType": "AtomicTag"
},
{
"name": "EStopped",
"tagType": "AtomicTag"
},
{
"name": "Motor_Fault_Reset_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "UPS_Battery_Low",
"tagType": "AtomicTag"
},
{
"name": "Motor_Fault",
"tagType": "AtomicTag"
},
{
"name": "Low_Air_Pressure_Reset_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "UPS_Battery_Fault",
"tagType": "AtomicTag"
},
{
"name": "Start_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Fire_Relay_De_Energized",
"tagType": "AtomicTag"
}
]
},
{
"name": "Power_Branch_Fault_Reset_PB",
"tagType": "AtomicTag"
},
{
"name": "Local_Estop_LT",
"tagType": "AtomicTag"
},
{
"name": "Motor_Fault_Reset_PB",
"tagType": "AtomicTag"
},
{
"name": "Start_PB",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB",
"tagType": "AtomicTag"
},
{
"name": "Low_Air_Pressure_Reset_PB_LT",
"tagType": "AtomicTag"
},
{
"name": "Jam_Restart_PB",
"tagType": "AtomicTag"
},
{
"name": "Setup_Motor_Speeds",
"tagType": "AtomicTag"
},
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Start_PB_LT",
"tagType": "AtomicTag"
},
{
"name": "Low_Air_Pressure_Reset_PB",
"tagType": "AtomicTag"
}
]
},
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "MCM",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Low_Air_Pressure_Reset_PB"
},
"valueSource": "opc",
"name": "Low_Air_Pressure_Reset_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Motor_Fault_Reset_PB"
},
"valueSource": "opc",
"name": "Motor_Fault_Reset_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Start_PB_LT"
},
"valueSource": "opc",
"name": "Start_PB_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE"
},
"valueSource": "opc",
"name": "STATE",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Stop_PB"
},
"valueSource": "opc",
"name": "Stop_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Power_Branch_Fault_Reset_PB"
},
"valueSource": "opc",
"name": "Setup_Motor_Speeds",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Start_PB"
},
"valueSource": "opc",
"name": "Start_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Jam_Restart_PB"
},
"valueSource": "opc",
"name": "Jam_Restart_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Low_Air_Pressure_Reset_PB_LT"
},
"valueSource": "opc",
"name": "Low_Air_Pressure_Reset_PB_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Power_Branch_Fault_Reset_PB"
},
"valueSource": "opc",
"name": "Power_Branch_Fault_Reset_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Local_Estop_LT"
},
"valueSource": "opc",
"name": "Local_Estop_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.EStop_Actuated_LT"
},
"valueSource": "opc",
"name": "EStop_Actuated_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Jam_Restart_PB_LT"
},
"valueSource": "opc",
"name": "Jam_Restart_PB_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.UPS_Battery_Low"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "UPS Battery Low"
}
],
"name": "UPS_Battery_Low",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Motor_Fault_Reset_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Motor Fault Reset PB Pressed"
}
],
"name": "Motor_Fault_Reset_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Jam_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Jam Fault",
"priority": "High"
}
],
"name": "Jam_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Stopped"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Stopped",
"priority": "High"
}
],
"name": "Stopped",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.UPS_Battery_On"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "UPS Battery On"
}
],
"name": "UPS_Battery_On",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Encoder_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Encoder Fault",
"priority": "High"
}
],
"name": "Encoder_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Fire_Relay_De_Energized"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Fire Relay De Energized",
"priority": "High"
}
],
"name": "Fire_Relay_De_Energized",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.UPS_Battery_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "UPS Battery Fault",
"priority": "High"
}
],
"name": "UPS_Battery_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Jam_Restart_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Jam Restart PB Pressed"
}
],
"name": "Jam_Restart_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Motor_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Motor Fault",
"priority": "High"
}
],
"name": "Motor_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStopped"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "EStopped",
"priority": "Critical"
}
],
"name": "EStopped",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Power_Branch_Fault_Reset_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Power_Branch Fault Reset PB Pressed"
}
],
"name": "Power_Branch_Fault_Reset_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Low_Air_Pressure_Reset_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Low Air Pressure Reset PB Pressed"
}
],
"name": "Low_Air_Pressure_Reset_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Stop_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Stop PB Pressed"
}
],
"name": "Stop_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Start_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Start PB Pressed"
}
],
"name": "Start_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.NAT_Switch_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Nat Switch Fault",
"priority": "High"
}
],
"name": "NAT_Switch_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.On_UPS_Battery"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "On UPS Battery"
}
],
"name": "On_UPS_Battery",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.UPS_Fault"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "UPS Fault",
"priority": "High"
}
],
"name": "UPS_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStop_PB_Pressed"
},
"valueSource": "opc",
"alarms": [
{
"setpointA": 1.0,
"name": "Estop PB Pressed"
}
],
"name": "Estop_PB_Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Motor_Fault_Reset_PB_LT"
},
"valueSource": "opc",
"name": "Motor_Fault_Reset_PB_LT",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
}
]
}
]
}

300
tags/Simulation/MCM04.json Normal file
View File

@ -0,0 +1,300 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "System",
"tagType": "Folder",
"tags": [
{
"name": "MCM4",
"tagType": "Folder",
"tags": [
{
"name": "Field_Devices",
"tagType": "Folder",
"tags": [
{
"name": "DPM",
"tagType": "Folder",
"tags": [
{
"name": "FL1034_2_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "PRS3_5_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "VSA_DPM1_7",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "VSC_DPM2",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "PS10_2_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "PS11_7_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "VSA_DPM2",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "VSC_DPM3",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "VSC_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "FL3016_2_DPM1",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "VSA_DPM3",
"typeId": "Field_Devices",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "Field_Devices",
"typeId": "",
"tagType": "UdtType",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Communication_Fault"
},
"valueSource": "opc",
"name": "Communication_Fault",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.STATE"
},
"valueSource": "opc",
"name": "STATE",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
}
]
}
]
}