Files
Stream_PHX_A7/Gateways/FE/projects/.resources/70098361d6614805ae28504c6193e49a9cc7525c79aea8fd88b1df9411ae4994

423 lines
12 KiB
Plaintext

{
"custom": {
"CPStateEngUnit": null,
"allTags": [
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 4,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Frequency",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 4,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Frequency",
"numDecimals": 1,
"options": []
},
{
"dataType": "",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 3,
"instanceStyle": {
"classes": ""
},
"name": "CP State Data",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 5,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Voltage AB",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 6,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Voltage BC",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 7,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Voltage CA",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 5,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Voltage AB",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 6,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Voltage BC",
"numDecimals": 1,
"options": []
},
{
"dataType": "Int4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 7,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Voltage CA",
"numDecimals": 1,
"options": []
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 11,
"instanceStyle": {
"classes": ""
},
"name": "Bypass Source 1",
"numDecimals": 1,
"options": [
"False",
"Bypassed"
]
},
{
"dataType": "",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 2,
"instanceStyle": {
"classes": ""
},
"name": "CP State",
"numDecimals": 1
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 9,
"instanceStyle": {
"classes": ""
},
"name": "On Source 1",
"numDecimals": 1,
"options": [
"False",
"True"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 9,
"instanceStyle": {
"classes": ""
},
"name": "On Source 2",
"numDecimals": 1,
"options": [
"False",
"True"
]
},
{
"dataType": "Int4",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 1,
"instanceStyle": {
"classes": ""
},
"name": "Operating Mode",
"numDecimals": 1,
"options": [
"Normal",
"Emergency"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 1,
"instanceStyle": {
"classes": ""
},
"name": "Source",
"numDecimals": 1,
"options": [
"Utility",
"Generator"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 8,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Available",
"numDecimals": 1,
"options": [
"not Available",
"Available"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 10,
"instanceStyle": {
"classes": ""
},
"name": "Source 1 Breaker Tripped",
"numDecimals": 1,
"options": [
"Normal",
"Tripped"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 8,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Available",
"numDecimals": 1,
"options": [
"not Available",
"Available"
]
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 10,
"instanceStyle": {
"classes": ""
},
"name": "Source 2 Breaker Tripped",
"numDecimals": 1,
"options": [
"Normal",
"Tripped"
]
}
],
"textArray": [
"Load on Normal, Normal OK",
"Timer 1C (TDES) running",
"Waiting for Emergency acceptable",
"Transfer to Emergency inhibited by F6Z",
"Transfer to Emergency inhibited by F34B",
"Timer 2B (TDNE) running",
"Timer 31F (N to E pre transfer signal) running",
"In phase monitor time delay (OTTS N to E transfer)",
"Waiting for in phase (OTTS N to E transfer)",
"In phase monitor time delay with load shed",
"Waiting for in phase with load shed",
"In sync monitor time delay",
"Waiting for in sync",
"Sources paralleled",
"Load disconnected CT bypass",
"Load disconnected",
"Normal to Emergency load shed is active",
"Timer 31M running",
"Load on Emergency waiting for removal of transfer requests",
"Timer 3A running",
"Transfer to Normal inhibited by G6C",
"Transfer to N inhibited by F34A",
"Timer 31G runing",
"In phase monitor time time delay",
"waiting for in phase",
"In phase monitor time delay with load shed",
"Waiting for in shed load shed",
"In sync monitor time delay",
"Waiting for in sync",
"Sources paralleled",
"Load disconnected CT bypass",
"Load disconnected",
"Emergency to Normal load shed is active",
"Timer 31N",
"Timer 2E (Cooldown)",
"Timer 1C while timer 2E running",
"Power up inhibit",
"Transition state"
]
},
"params": {
"tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS"
},
"propConfig": {
"custom.CPStateEngUnit": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"tagPath": "{view.params.tagPath}"
},
"tagPath": "{tagPath}/CP State"
},
"transforms": [
{
"code": "\tsystem.tag.writeBlocking(self.params.tagPath+\u0027/CP State Data.EngUnit\u0027,self.custom.textArray[value])\n\t#[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS/CP State Data.EngUnit\n\treturn self.custom.textArray[value]",
"type": "script"
}
],
"type": "tag"
},
"persistent": true
},
"custom.allTags": {
"binding": {
"config": {
"struct": {
"tagPath": "{view.params.tagPath}"
},
"waitOnAll": true
},
"enabled": false,
"transforms": [
{
"code": "\toutput \u003d []\n\t# Simulate fetching tag configurations and sorting by name\n\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\tfor item in nodes:\n\t if \u0027tags\u0027 in item:\n\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\n for tagConfig in sortedTags:\n if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n name \u003d tagConfig.get(\"name\", \"\")\n dataType \u003d tagConfig.get(\"dataType\", \"\")\n tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"numDecimals\": 1,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output",
"type": "script"
}
],
"type": "expr-struct"
},
"persistent": true
},
"custom.allTags[10].options": {
"binding": {
"config": {
"path": "view.custom.textArray"
},
"type": "property"
}
},
"custom.textArray": {
"persistent": true
},
"params.tagPath": {
"paramDirection": "input",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"meta": {
"name": "FlexRepeater"
},
"position": {
"basis": "100%"
},
"propConfig": {
"props.instances": {
"binding": {
"config": {
"struct": {
"allTags": "{view.custom.allTags}",
"tagPath": "{view.params.tagPath}"
},
"waitOnAll": true
},
"transforms": [
{
"code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted",
"type": "script"
}
],
"type": "expr-struct"
}
}
},
"props": {
"alignContent": "flex-start",
"elementPosition": {
"basis": "50%",
"grow": 0
},
"loading": {
"order": "with-parent"
},
"path": "Library/Framework/Tag Info",
"style": {
"border": "1px solid var(--border)",
"gap": "10px 0",
"padding": "10px"
},
"useDefaultViewHeight": false,
"useDefaultViewWidth": false,
"wrap": "wrap"
},
"type": "ia.display.flex-repeater"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "containers/padded-container"
}
},
"type": "ia.container.flex"
}
}