D2C Chutes

This commit is contained in:
b.makharadze 2025-06-20 12:27:14 +04:00
parent cf8c302e03
commit 4d099b17e1
7 changed files with 2013 additions and 53 deletions

View File

@ -33,6 +33,38 @@
"viewPath": "Detailed-Views/MCM03 Non Con" "viewPath": "Detailed-Views/MCM03 Non Con"
}, },
"/DetailedView/MCM04 Bulk Inbound Problem Solve, Fluid Outbound and Problem Solve": { "/DetailedView/MCM04 Bulk Inbound Problem Solve, Fluid Outbound and Problem Solve": {
"docks": {
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-SNP",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-JR",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB"
}
]
},
"title": "", "title": "",
"viewPath": "Detailed-Views/MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve" "viewPath": "Detailed-Views/MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve"
}, },
@ -143,6 +175,48 @@
"size": 400, "size": 400,
"viewParams": {}, "viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East" "viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-SNP",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-JR",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-JR-PB"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
} }
], ],
"top": [ "top": [

View File

@ -966,7 +966,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"System/MCM04/StatusNonPowered_NS/S011055", "/System/D2C/D2C_Chute_2",
"value", "value",
"value", "value",
"value", "value",
@ -1001,7 +1001,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"System/MCM04/StatusNonPowered_NS/S011053", "/System/D2C/D2C_Chute_3",
"value", "value",
"value", "value",
"value", "value",
@ -1036,7 +1036,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"System/MCM04/StatusNonPowered_NS/S011051", "/System/D2C/D2C_Chute_4",
"value", "value",
"value", "value",
"value", "value",
@ -13296,7 +13296,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"System/MCM04/StatusNonPowered_NS/S011057", "/System/D2C/D2C_Chute_1",
"value", "value",
"value", "value",
"value", "value",
@ -13938,7 +13938,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"System/MCM04/Estop/S011051_JR1", "System/Station/JR/S011051_JR1",
"value", "value",
"value", "value",
"value", "value",

View File

@ -133,6 +133,20 @@
"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-SNP",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East-StatusNonPowered"
} }
], ],
"top": [ "top": [

View File

@ -1,14 +1,6 @@
{ {
"custom": { "custom": {
"PLC_list": [ "PLC_list": null,
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1, "running_state": -1,
"state": 0, "state": 0,
"views_data": [] "views_data": []
@ -579,7 +571,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+\"/Maintenance/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+\"/Start_PB\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"

View File

@ -1,14 +1,6 @@
{ {
"custom": { "custom": {
"PLC_list": [ "PLC_list": null,
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1, "running_state": -1,
"state": 0, "state": 0,
"views_data": [] "views_data": []
@ -179,7 +171,7 @@
"dom": { "dom": {
"onClick": { "onClick": {
"config": { "config": {
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-JR\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" "script": "\tsystem.perspective.closeDock(\u0027Docked-East-SNP\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"
@ -330,7 +322,7 @@
"children": [ "children": [
{ {
"meta": { "meta": {
"name": "NameField" "name": "Name"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -379,7 +371,7 @@
} }
], ],
"meta": { "meta": {
"name": "Name" "name": "Property"
}, },
"position": { "position": {
"basis": "35px" "basis": "35px"
@ -410,7 +402,7 @@
"children": [ "children": [
{ {
"meta": { "meta": {
"name": "Disabled" "name": "Name"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -426,7 +418,7 @@
}, },
{ {
"meta": { "meta": {
"name": "PB_Light" "name": "Disabled"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -528,7 +520,7 @@
} }
], ],
"meta": { "meta": {
"name": "Name" "name": "Property"
}, },
"position": { "position": {
"basis": "35px", "basis": "35px",
@ -559,7 +551,7 @@
"children": [ "children": [
{ {
"meta": { "meta": {
"name": "Full" "name": "Name"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -575,7 +567,7 @@
}, },
{ {
"meta": { "meta": {
"name": "PB_Light" "name": "Full"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -677,7 +669,7 @@
} }
], ],
"meta": { "meta": {
"name": "Name" "name": "Property"
}, },
"position": { "position": {
"basis": "35px", "basis": "35px",
@ -708,7 +700,7 @@
"children": [ "children": [
{ {
"meta": { "meta": {
"name": "Half Full" "name": "Name"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -724,7 +716,7 @@
}, },
{ {
"meta": { "meta": {
"name": "PB_Light" "name": "Half Full"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -826,7 +818,7 @@
} }
], ],
"meta": { "meta": {
"name": "Name" "name": "Property"
}, },
"position": { "position": {
"basis": "35px", "basis": "35px",
@ -857,7 +849,7 @@
"children": [ "children": [
{ {
"meta": { "meta": {
"name": "Jam" "name": "Name"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -873,7 +865,7 @@
}, },
{ {
"meta": { "meta": {
"name": "PB_Light" "name": "Jam"
}, },
"position": { "position": {
"basis": "50%", "basis": "50%",
@ -975,7 +967,7 @@
} }
], ],
"meta": { "meta": {
"name": "Name" "name": "Property"
}, },
"position": { "position": {
"basis": "35px", "basis": "35px",
@ -999,6 +991,189 @@
"direction": "column" "direction": "column"
}, },
"type": "ia.container.flex" "type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "Name"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "NO CONTAINER"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "No Container"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "NO CONTAINER",
"output": "#FFFFFF"
},
{
"input": "CONTAINER PRESENT",
"output": "#D5D5D5"
}
],
"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/No Container"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "CONTAINER PRESENT",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "NO CONTAINER"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "NO CONTAINER",
"output": "#FF4487"
},
{
"input": "CONTAINER PRESENT",
"output": "#47FF47"
}
],
"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": "No Container"
},
"position": {
"basis": "35px"
},
"propConfig": {
"meta.visible": {
"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"
},
{
"fallback": false,
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": true
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
}
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
} }
], ],
"meta": { "meta": {
@ -1026,7 +1201,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])" "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"
}, },
"scope": "G", "scope": "G",
"type": "script" "type": "script"

View File

@ -2,7 +2,7 @@
"custom": { "custom": {
"alarm_message": null, "alarm_message": null,
"disconnected": true, "disconnected": true,
"plc": "value", "plc": "System",
"priority": 0, "priority": 0,
"priority_string": "Medium", "priority_string": "Medium",
"searchId": "PLC01", "searchId": "PLC01",
@ -14,7 +14,7 @@
"forceFaultStatus": null, "forceFaultStatus": null,
"forceRunningStatus": null, "forceRunningStatus": null,
"tagProps": [ "tagProps": [
"value", "System/D2C/D2C_Chute_1",
"value", "value",
"value", "value",
"value", "value",
@ -90,8 +90,12 @@
"output": 4 "output": 4
}, },
{ {
"input": 0, "input": 5,
"output": 0 "output": 5
},
{
"input": 6,
"output": 6
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -131,6 +135,14 @@
{ {
"input": 4, "input": 4,
"output": "High" "output": "High"
},
{
"input": 5,
"output": "High"
},
{
"input": 6,
"output": "Low"
} }
], ],
"outputType": "scalar", "outputType": "scalar",
@ -174,7 +186,7 @@
"custom.state_string": { "custom.state_string": {
"binding": { "binding": {
"config": { "config": {
"expression": "case({view.custom.state},\r\n0, \"Disabled\",\r\n1, \"Enabled\",\r\n2, \"Half Full\",\r\n3, \"Full\",\r\n4, \"Jammed\",\r\n\"Unknown\")" "expression": "case({view.custom.state},\r\n0, \"Disabled\",\r\n1, \"Enabled\",\r\n2, \"Half Full\",\r\n3, \"Full\",\r\n4, \"Jammed\",\r\n5, \"No Container\",\r\n6, \"Ready To Be Enabled\",\r\n\"Unknown\")"
}, },
"type": "expr" "type": "expr"
}, },
@ -256,6 +268,14 @@
{ {
"input": 4, "input": 4,
"output": "#FF8C00" "output": "#FF8C00"
},
{
"input": 5,
"output": "#FF4487"
},
{
"input": 6,
"output": "#92FF00"
} }
], ],
"outputType": "color", "outputType": "color",
@ -296,14 +316,6 @@
"scope": "G", "scope": "G",
"type": "script" "type": "script"
}, },
"onDoubleClick": {
"config": {
"script": "\ttagProps \u003d self.view.params.tagProps\n\tsystem.perspective.openPopup(\"StatusPopUP\", \"PopUp-Views/Controller-Equipment/Information\", params \u003d{\"tagProps\":tagProps})\n\t"
},
"enabled": false,
"scope": "G",
"type": "script"
},
"onMouseEnter": { "onMouseEnter": {
"config": { "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" "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"
@ -351,6 +363,14 @@
{ {
"input": 0, "input": 0,
"output": "Alarms-Styles/Medium" "output": "Alarms-Styles/Medium"
},
{
"input": 5,
"output": "Alarms-Styles/Alt-Colours/High"
},
{
"input": 6,
"output": "Alarms-Styles/Alt-Colours/Low"
} }
], ],
"outputType": "style-list", "outputType": "style-list",

1685
tags/Simulation/D2C.json Normal file

File diff suppressed because it is too large Load Diff