Fix VFD Docked-East

This commit is contained in:
beka makharadze 2025-07-01 18:43:42 +04:00
parent 73da246632
commit 9f460e173b

View File

@ -1,13 +1,21 @@
{
"custom": {
"PLC_list": null,
"PLC_list": [
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1,
"state": 0,
"state": null,
"views_data": []
},
"params": {
"tagProps": [
"System/MCM01/Conveyor/UL1_3_VFD1",
"System/Conveyor/APF/FL1038_2_VFD1",
"value",
"value",
"value",
@ -378,9 +386,9 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
},
"text": "Name"
"text": "NAME"
},
"type": "ia.display.label"
},
@ -458,9 +466,9 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
},
"text": "State"
"text": "STATE"
},
"type": "ia.display.label"
},
@ -473,10 +481,32 @@
"grow": 1
},
"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": {
"binding": {
"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"
}
@ -492,7 +522,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -562,7 +591,7 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
},
"text": "FPM"
},
@ -577,6 +606,28 @@
"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": {
@ -590,7 +641,7 @@
},
"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"
}
],
@ -600,7 +651,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -660,20 +710,20 @@
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (Freq/Velocity\u0027)",
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN (FREQ/VELOCITY)\u0027)",
"type": "expression"
},
{
"fallback": "Unknown (Freq/Velocity",
"fallback": "UNKNOWN (FREQ/VELOCITY)",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "Velocity"
"output": "VELOCITY"
},
{
"input": 0,
"output": "Frequency"
"output": "FREQUENCY"
}
],
"outputType": "scalar",
@ -686,7 +736,7 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
}
},
"type": "ia.display.label"
@ -700,6 +750,28 @@
"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": {
@ -713,7 +785,7 @@
},
"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"
}
],
@ -723,7 +795,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -771,9 +842,9 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
},
"text": "Amperage"
"text": "AMPERAGE"
},
"type": "ia.display.label"
},
@ -786,6 +857,28 @@
"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": {
@ -799,7 +892,7 @@
},
"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"
}
],
@ -809,7 +902,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -857,9 +949,9 @@
},
"props": {
"style": {
"paddingLeft": 100
"paddingLeft": 20
},
"text": "Voltage"
"text": "VOLTAGE"
},
"type": "ia.display.label"
},
@ -872,6 +964,28 @@
"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": {
@ -885,7 +999,7 @@
},
"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"
}
],
@ -895,7 +1009,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -943,9 +1056,9 @@
},
"props": {
"style": {
"paddingLeft": 35
"paddingLeft": 20
},
"text": "Communication Fault Code"
"text": "COMMUNICATION FAULT CODE"
},
"type": "ia.display.label"
},
@ -958,6 +1071,28 @@
"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": {
@ -971,7 +1106,7 @@
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)",
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression"
}
],
@ -981,7 +1116,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -1029,9 +1163,9 @@
},
"props": {
"style": {
"paddingLeft": 80
"paddingLeft": 20
},
"text": "VFD Fault Code"
"text": "VFD FAULT CODE"
},
"type": "ia.display.label"
},
@ -1044,6 +1178,28 @@
"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": {
@ -1057,7 +1213,7 @@
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)",
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression"
}
],
@ -1067,7 +1223,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -1115,9 +1270,9 @@
},
"props": {
"style": {
"paddingLeft": 70
"paddingLeft": 20
},
"text": "Last VFD Fault Code"
"text": "LAST VFD FAULT CODE"
},
"type": "ia.display.label"
},
@ -1130,6 +1285,28 @@
"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": {
@ -1143,7 +1320,7 @@
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown\u0027)",
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN\u0027)",
"type": "expression"
}
],
@ -1153,7 +1330,6 @@
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
@ -1247,11 +1423,11 @@
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027Unknown (60hz/30rev\u0027)",
"expression": "coalesce({value},{view.params.forceFaultStatus},\u0027UNKNOWN (60hz/30rev)\u0027)",
"type": "expression"
},
{
"fallback": "Unknown (60hz/30rev",
"fallback": "Unknown (60hz/30rev)",
"inputType": "scalar",
"mappings": [
{
@ -1323,6 +1499,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",
"type": "script"
},
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
@ -1419,6 +1599,12 @@
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Cycle_Time_Factor"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
}
}
@ -1552,7 +1738,7 @@
"mappings": [
{
"input": false,
"output": "Active Maintenance Mode"
"output": "Activate Maintenance Mode"
},
{
"input": true,
@ -1598,7 +1784,7 @@
"component": {
"onActionPerformed": {
"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",
"type": "script"
@ -1615,15 +1801,26 @@
"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"
"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"
}
],
"type": "tag"
}
},
"props.value": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
@ -1632,6 +1829,12 @@
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Maintenance/Speed_FPM"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
}
}
@ -1699,14 +1902,52 @@
],
"type": "tag"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#7DB17D\",\r\n if(\r\n {this.props.text} \u003d \"START PRESSED\",\r\n \"#009400\",\r\n if(\r\n {this.props.text} \u003d \"START\",\r\n \"#00D900\",\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}/Maintenance/Start_PB_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "START",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "START PRESSED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
}
},
"props": {
"style": {
"backgroundColor": "#2EDF43",
"marginBottom": 10
},
"text": "Start"
}
},
"type": "ia.input.button"
},
@ -1749,14 +1990,52 @@
],
"type": "tag"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#BB5050\",\r\n if(\r\n {this.props.text} \u003d \"STOP PRESSED\",\r\n \"#FF9191\",\r\n if(\r\n {this.props.text} \u003d \"STOP\",\r\n \"#FF0000\",\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}/Maintenance/Stop_PB_Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "STOP",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "STOP PRESSED"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
}
},
"props": {
"style": {
"backgroundColor": "#E51A1A",
"marginBottom": 10
},
"text": "Stop"
}
},
"type": "ia.input.button"
},
@ -1806,14 +2085,52 @@
],
"type": "tag"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#55A49B\",\r\n if(\r\n {this.props.text} \u003d \"JOG PRESSED\",\r\n \"#34B2A3\",\r\n if(\r\n {this.props.text} \u003d \"JOG\",\r\n \"#2ACCBA\",\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}/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": {
"style": {
"backgroundColor": "#2ACCBA",
"marginBottom": 10
},
"text": "Jog"
}
},
"type": "ia.input.button"
},
@ -1857,6 +2174,14 @@
"type": "tag"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"expression": "if(\r\n {this.props.enabled} \u003d False,\r\n \"#7292B8\",\r\n if(\r\n {this.props.text} \u003d \"Direction Backward\",\r\n \"#0068F7\",\r\n if(\r\n {this.props.text} \u003d \"Direction Forward\",\r\n \"#3467AD\",\r\n \"#FFFFFF\"\r\n )\r\n )\r\n)\r\n"
},
"type": "expr"
}
},
"props.text": {
"binding": {
"config": {
@ -1874,13 +2199,9 @@
"type": "expression"
},
{
"fallback": "Direction",
"fallback": "Direction Backward",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "Direction Backward"
},
{
"input": true,
"output": "Direction Forward"
@ -1896,7 +2217,6 @@
},
"props": {
"style": {
"backgroundColor": "#0068F7",
"marginBottom": 10
}
},
@ -1910,7 +2230,7 @@
"name": "FlexContainer"
},
"position": {
"basis": "200px",
"basis": "500px",
"grow": 1
},
"props": {
@ -1923,7 +2243,7 @@
"name": "Maintenance"
},
"position": {
"basis": "200px",
"basis": "400px",
"grow": 1
},
"props": {