Compare commits

..

No commits in common. "310db0aed6caceba9248afadf2d5c0d2134e6258" and "ef264bbed4ccc79db36f676ad050dfeab4b56c37" have entirely different histories.

25 changed files with 1502 additions and 6730 deletions

View File

@ -2,7 +2,7 @@
"pages": {
"/": {
"title": "",
"viewPath": "Simulations/Station_JR_PB"
"viewPath": "Main-Views/Home"
},
"/Command": {
"title": "",
@ -105,20 +105,6 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East"
},
{
"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"
}
],
"top": [

View File

@ -1,17 +0,0 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-04T13:27:50Z"
},
"lastModificationSignature": "9f2d15bec701a5b47b90a28d7896be38790e8558b3a7d75693a0944b90035a45"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,267 +0,0 @@
{
"custom": {},
"params": {},
"props": {
"defaultSize": {
"height": 1080,
"width": 1920
}
},
"root": {
"children": [
{
"meta": {
"name": "Image"
},
"position": {
"height": 1,
"width": 1
},
"props": {
"fit": {
"mode": "fill"
},
"source": "http://localhost:5500/VFD.svg"
},
"type": "ia.display.image"
},
{
"meta": {
"name": "UL1_3_EPC1_Line"
},
"position": {
"height": 0.0278,
"rotate": {
"angle": 0
},
"width": 0.7167,
"x": 0.1582,
"y": 0.6669
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord_Line"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_EPC2_Line"
},
"position": {
"height": 0.0278,
"rotate": {
"angle": 0
},
"width": 0.7156,
"x": 0.1557,
"y": 0.2722
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC2",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord_Line"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_EPC2"
},
"position": {
"height": 0.1648,
"rotate": {
"angle": 90
},
"width": 0.0964,
"x": 0.0698,
"y": 0.2037
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC2",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_EPC1"
},
"position": {
"height": 0.1648,
"rotate": {
"angle": "90deg"
},
"width": 0.0964,
"x": 0.0698,
"y": 0.5972
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_EPC1_END"
},
"position": {
"height": 0.1389,
"rotate": {
"angle": 90
},
"width": 0.0417,
"x": 0.8791,
"y": 0.6113
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord_End"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_EPC2_END"
},
"position": {
"height": 0.1389,
"rotate": {
"angle": 90
},
"width": 0.0417,
"x": 0.8765,
"y": 0.2178
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/EPC/UL1_3_EPC2",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/PullChord_End"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "UL1_3_VFD1"
},
"position": {
"height": 0.2083,
"width": 0.1255,
"x": 0.4296,
"y": 0.3797
},
"props": {
"params": {
"directionLeft": false,
"forceFaultStatus": null,
"forceRunningStatus": null,
"tagProps": [
"/System/Conveyor/UL1_3_VFD1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"path": "Symbol-Views/Equipment-Views/Status"
},
"type": "ia.display.view"
}
],
"meta": {
"name": "root"
},
"props": {
"mode": "percent"
},
"type": "ia.container.coord"
}
}

View File

@ -14,23 +14,11 @@
"name": "Image"
},
"position": {
"height": 1,
"width": 1
},
"propConfig": {
"props.source": {
"binding": {
"config": {
"expression": "\"http://127.0.0.1:5500/VFD.svg?var\" + toMillis(now(1000))"
},
"type": "expr"
}
}
"height": 1080,
"width": 1920
},
"props": {
"fit": {
"mode": "fill"
}
"source": "http://localhost:5500/Station_JR_PB.svg"
},
"type": "ia.display.image"
},
@ -39,16 +27,16 @@
"name": "UL1_3_JR_PB1"
},
"position": {
"height": 0.1648,
"width": 0.0964,
"x": 0.0719,
"y": 0.1736
"height": 178,
"width": 185,
"x": 554,
"y": 189
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/Buttons/UL1_3_JR_PB1",
"/System/Buttons/UL1_3_JR_PB1",
"value",
"value",
"value",
@ -69,16 +57,16 @@
"name": "UL1_3_JR_PB2"
},
"position": {
"height": 0.1648,
"width": 0.0964,
"x": 0.0719,
"y": 0.6255
"height": 178,
"width": 185,
"x": 553.984,
"y": 677
},
"props": {
"params": {
"forceFaultStatus": null,
"tagProps": [
"/System/Station/Buttons/UL1_3_JR_PB2",
"/System/Buttons/UL1_3_JR_PB2",
"value",
"value",
"value",
@ -99,10 +87,10 @@
"name": "UL1_3_VFD1"
},
"position": {
"height": 0.2333,
"width": 0.1224,
"x": 0.427,
"y": 0.367
"height": 292,
"width": 290,
"x": 813,
"y": 376.979
},
"props": {
"params": {
@ -130,12 +118,6 @@
"meta": {
"name": "root"
},
"props": {
"mode": "percent",
"style": {
"backgroundColor": "#FFFFFF"
}
},
"type": "ia.container.coord"
}
}

View File

@ -105,20 +105,6 @@
"size": 400,
"viewParams": {},
"viewPath": "PopUp-Views/Controller-Equipment/Information-Docked-East"
},
{
"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"
}
],
"top": [

View File

@ -3,7 +3,6 @@
"alarm_filter": {
"magnificaiton": "x2",
"orderby": false,
"show_buttons": true,
"show_camera_jams": true,
"show_diagnostic": true,
"show_fio": true,
@ -214,13 +213,13 @@
}
},
"props": {
"address": "127.0.0.1",
"address": "192.168.5.149",
"appBar": {
"togglePosition": "hidden"
},
"device": {},
"geolocation": {},
"locale": "en-US",
"timeZoneId": "Asia/Tbilisi"
"timeZoneId": "America/Los_Angeles"
}
}

View File

@ -1,17 +0,0 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-06-06T17:53:37Z"
},
"lastModificationSignature": "489aa99a6227aecb6c5f25279c628733c458b0aae0aeed8251fc2d755904c918"
}
}

View File

@ -1,765 +0,0 @@
{
"custom": {
"PLC_list": [
"MCM01",
"MCM02",
"MCM03",
"MCM04",
"MCM05",
"MCM06",
"MCM07"
],
"running_state": -1,
"state": 1,
"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]}"
},
"transforms": [
{
"code": "\treturn value[:-4]",
"type": "script"
}
],
"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-JR\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
},
"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": "\treturn value[24:]",
"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": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "ON",
"output": "#FFFFFF"
},
{
"input": "OFF",
"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/Pressed"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "OFF",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "OFF"
},
{
"input": true,
"output": "ON"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "ON",
"output": "#FF0000"
},
{
"input": "OFF",
"output": "#47FF47"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Name"
},
"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"
},
{
"children": [
{
"children": [
{
"children": [
{
"events": {
"component": {
"onActionPerformed": {
"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])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Button"
},
"position": {
"basis": "80px",
"grow": 1
},
"propConfig": {
"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": {
"path": "material/sync_problem"
}
},
"style": {
"backgroundColor": "#FE9240",
"classes": "Background-Styles/Controller"
},
"text": "RESET JAM"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Reset Jam"
},
"position": {
"basis": "35px"
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"expression": "if(isNull(tag(\"[\" + {session.custom.fc} + \"_SCADA_TAG_PROVIDER]\" + {view.params.tagProps[0]} + \"/Maintenance/Start_PB\")), False, True)"
},
"type": "expr"
}
}
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"padding": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "100px",
"grow": 1
},
"props": {
"direction": "column",
"style": {
"gap": 6,
"paddingBottom": 20,
"paddingLeft": 10,
"paddingRight": 10,
"paddingTop": 13
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Commands_tab"
},
"position": {
"tabIndex": 2
},
"props": {
"direction": "column",
"style": {
"paddingTop": 1
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "tabs"
},
"position": {
"grow": 1
},
"props": {
"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",
"Commands"
]
},
"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

@ -367,82 +367,6 @@
},
"type": "ia.input.checkbox"
},
{
"custom": {
"buttonid": "status_filters/low_alarms"
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Show-Buttons",
"tooltip": {
"delay": 250
}
},
"position": {
"basis": "36px"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)"
},
"enabled": false,
"type": "expr"
}
},
"props.selected": {
"binding": {
"config": {
"bidirectional": true,
"path": "session.custom.alarm_filter.show_buttons"
},
"type": "property"
}
}
},
"props": {
"checkedIcon": {
"color": {
"disabled": "#FFFFFF",
"enabled": "#FFFFFF"
}
},
"style": {
"color": "#FFFFFF",
"fontFamily": "Arial",
"fontSize": 12,
"fontWeight": "bold",
"marginLeft": 10,
"marginRight": 10
},
"text": "Show Buttons"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "select-all-filters",
"pageScope": false,
"script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data\n\tsystem.perspective.print(data)",
"sessionScope": false,
"viewScope": true
}
]
},
"type": "ia.input.checkbox"
},
{
"custom": {
"buttonid": "status_filters/estops_pullChords"

View File

@ -11,7 +11,7 @@
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 5,
"status": 0,
"status": 1,
"visible_status": false
},
"params": {
@ -476,7 +476,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_buttons"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -481,7 +481,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_safety"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,13 +1,17 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 5,
"status": 0,
"status": 3,
"visible_status": false
},
"params": {
@ -26,6 +30,24 @@
]
},
"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": {
"binding": {
"config": {
@ -47,6 +69,39 @@
},
"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": {
"binding": {
"config": {
@ -74,7 +129,7 @@
"mappings": [
{
"input": 1,
"output": 1
"output": 4
}
],
"outputType": "scalar",
@ -88,27 +143,9 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"expression": "case({view.custom.state},\r\n4, \"Diagnostic\",\r\n5, \"No active alarms\",\r\n\"Unknown\")"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "High"
},
{
"input": 0,
"output": "No active alarms"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
@ -130,7 +167,7 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
@ -143,19 +180,11 @@
"mappings": [
{
"input": 1,
"output": 1
"output": 4
},
{
"input": 0,
"output": 0
},
{
"input": 2,
"output": 2
},
{
"input": 3,
"output": 3
"output": 5
}
],
"outputType": "scalar",
@ -166,6 +195,36 @@
},
"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": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.visible_status": {
"binding": {
"config": {
"expression": "{view.custom.state} !\u003d 5"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
@ -197,13 +256,19 @@
"config": {
"expression": "\u0027#585858\u0027"
},
"transforms": [
{
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "expr"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.status"
},
"transforms": [
{
@ -237,7 +302,7 @@
"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})"
"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": [
{
@ -330,7 +395,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-JR\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
"script": "\tsystem.perspective.openDock(\u0027Docked-East\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -366,7 +431,7 @@
},
"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)",
"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"
}
],
@ -414,7 +479,7 @@
},
"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)",
"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"
}
],
@ -432,7 +497,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_buttons"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,13 +1,16 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Normal"
"searchId": "value",
"state": 5
},
"params": {
"forceFaultStatus": null,
@ -26,6 +29,24 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "this.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_safety},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_safety},\r\n\t\t4, {session.custom.alarm_filter.show_safety},\r\n\t\t5, {session.custom.alarm_filter.show_safety},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
@ -47,6 +68,39 @@
},
"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": {
"binding": {
"config": {
@ -74,6 +128,18 @@
"mappings": [
{
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
@ -88,27 +154,9 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"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\")"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "High"
},
{
"input": 0,
"output": "No active alarms"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
@ -130,7 +178,7 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
@ -142,12 +190,24 @@
"inputType": "scalar",
"mappings": [
{
"input": 1,
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 0
"output": 5
}
],
"outputType": "scalar",
@ -158,15 +218,6 @@
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
@ -202,27 +253,15 @@
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
"expression": "\u0027#AAAAAA\u0027"
},
"transforms": [
{
"fallback": "#AC0000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#AAAAAA"
},
{
"input": 1,
"output": "#AAAAAA"
"expression": "if({view.custom.display_icon}\u0026\u0026 {view.custom.isMatch}\u003d0,{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
"type": "expr"
}
},
"props.elements[1].fill.paint": {
@ -232,7 +271,7 @@
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n{session.custom.colours.state1}\r\n)",
"expression": "case({value},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state1},\r\n3,{session.custom.colours.state1},\r\n4,{session.custom.colours.state1},\r\n{session.custom.colours.state5}\r\n)",
"type": "expression"
}
],
@ -242,11 +281,11 @@
"props.elements[2].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"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)",
"expression": "if(!{value} \u0026\u0026 {view.custom.display_icon}, \u0027visible\u0027, \u0027hidden\u0027)",
"type": "expression"
}
],
@ -256,16 +295,78 @@
"props.elements[3].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"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)",
"expression": "if({value} \u0026\u0026 {view.custom.display_icon}, \u0027visible\u0027, \u0027hidden\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"
}
}
},
"props": {
@ -327,6 +428,7 @@
"type": "path"
}
],
"style": {},
"viewBox": "-0.5 -0.5 27 42"
},
"type": "ia.shapes.svg"
@ -374,7 +476,7 @@
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"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"
}
],
@ -393,6 +495,18 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
@ -410,7 +524,7 @@
},
"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)",
"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"
}
],
@ -428,7 +542,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_safety"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,12 +1,16 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Normal"
"searchId": "value",
"state": 5
},
"params": {
"forceFaultStatus": null,
@ -25,6 +29,24 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "this.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_safety},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_safety},\r\n\t\t4, {session.custom.alarm_filter.show_safety},\r\n\t\t5, {session.custom.alarm_filter.show_safety},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
@ -46,6 +68,39 @@
},
"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": {
"binding": {
"config": {
@ -68,12 +123,24 @@
},
"transforms": [
{
"fallback": 1,
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": 0
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
"outputType": "scalar",
@ -87,27 +154,9 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"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\")"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "High"
},
{
"input": 0,
"output": "No active alarms"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
@ -129,7 +178,7 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
@ -141,12 +190,24 @@
"inputType": "scalar",
"mappings": [
{
"input": 1,
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 0
"output": 5
}
],
"outputType": "scalar",
@ -157,15 +218,6 @@
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
@ -196,36 +248,10 @@
"width": 1
},
"propConfig": {
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"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})"
"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": [
{
@ -289,7 +315,9 @@
"elements": [
{
"d": "M 0.01621377,0.01595147 H 25.93719 V 41.138171 H 0.01621377 Z",
"fill": {},
"fill": {
"paint": "#D5D5D5"
},
"name": "path",
"stroke": {
"paint": "#000000",
@ -347,7 +375,7 @@
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"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"
}
],
@ -366,6 +394,18 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
@ -383,7 +423,7 @@
},
"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)",
"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"
}
],
@ -401,7 +441,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_safety"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,13 +1,16 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Normal"
"state": 5
},
"params": {
"forceFaultStatus": null,
@ -26,6 +29,24 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "this.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_safety},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_safety},\r\n\t\t4, {session.custom.alarm_filter.show_safety},\r\n\t\t5, {session.custom.alarm_filter.show_safety},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
@ -47,6 +68,39 @@
},
"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": {
"binding": {
"config": {
@ -69,12 +123,24 @@
},
"transforms": [
{
"fallback": 1,
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": 0
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
"outputType": "scalar",
@ -88,27 +154,9 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"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\")"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "High"
},
{
"input": 0,
"output": "No active alarms"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
@ -130,7 +178,7 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
@ -142,12 +190,24 @@
"inputType": "scalar",
"mappings": [
{
"input": 1,
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 0
"output": 5
}
],
"outputType": "scalar",
@ -158,15 +218,6 @@
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
@ -200,11 +251,11 @@
"props.elements[0].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"expression": "if({value}, \u0027visible\u0027,\u0027hidden\u0027)",
"type": "expression"
}
],
@ -214,11 +265,11 @@
"props.elements[1].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"expression": "if({value}, \u0027visible\u0027,\u0027hidden\u0027)",
"type": "expression"
}
],
@ -232,30 +283,72 @@
},
"transforms": [
{
"fallback": "#800000",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FF0000"
},
{
"input": 0,
"output": "#000000"
}
],
"outputType": "color",
"type": "map"
"expression": "case({value},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state1},\r\n3,{session.custom.colours.state1},\r\n4,{session.custom.colours.state1},\r\n\u0027#000000\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].visibility": {
"props.style.classes": {
"binding": {
"config": {
"expression": "if({parent.meta.visible}, \u0027visible\u0027, \u0027hidden\u0027)"
"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"
}
}
@ -304,6 +397,7 @@
}
],
"preserveAspectRatio": "none",
"style": {},
"viewBox": "-0.5 -0.5 102 12"
},
"type": "ia.shapes.svg"
@ -351,7 +445,7 @@
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"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"
}
],
@ -370,6 +464,18 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
@ -387,7 +493,7 @@
},
"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)",
"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"
}
],
@ -405,7 +511,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_safety"
"path": "view.custom.display_icon"
},
"type": "property"
}
@ -440,7 +546,6 @@
"props": {
"mode": "percent",
"style": {
"borderStyle": "none",
"cursor": "pointer",
"overflow": "visible"
}

View File

@ -1,12 +1,16 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No active alarms",
"searchId": "PLC01",
"state": 0,
"state_string": "Normal"
"searchId": "value",
"state": 5
},
"params": {
"forceFaultStatus": null,
@ -25,6 +29,24 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
"path": "this.custom.state"
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, {session.custom.alarm_filter.show_safety},\r\n\t\t1, True,\r\n\t\t2, True,\r\n\t\t3, {session.custom.alarm_filter.show_safety},\r\n\t\t4, {session.custom.alarm_filter.show_safety},\r\n\t\t5, {session.custom.alarm_filter.show_safety},\r\n\t\tFalse)",
"type": "expression"
}
],
"type": "property"
},
"persistent": true
},
"custom.disconnected": {
"binding": {
"config": {
@ -46,6 +68,39 @@
},
"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": {
"binding": {
"config": {
@ -68,12 +123,24 @@
},
"transforms": [
{
"fallback": 1,
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": 0
"input": 1,
"output": 4
},
{
"input": 2,
"output": 3
},
{
"input": 3,
"output": 2
},
{
"input": 4,
"output": 1
}
],
"outputType": "scalar",
@ -87,27 +154,9 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"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\")"
},
"transforms": [
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "High"
},
{
"input": 0,
"output": "No active alarms"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
@ -129,7 +178,7 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
@ -141,12 +190,24 @@
"inputType": "scalar",
"mappings": [
{
"input": 1,
"input": 4,
"output": 1
},
{
"input": 3,
"output": 2
},
{
"input": 2,
"output": 3
},
{
"input": 1,
"output": 4
},
{
"input": 0,
"output": 0
"output": 5
}
],
"outputType": "scalar",
@ -157,15 +218,6 @@
},
"persistent": true
},
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.custom.state},\r\n1, \"Active\",\r\n0, \"Normal\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"params.forceFaultStatus": {
"paramDirection": "input",
"persistent": true
@ -199,11 +251,11 @@
"props.elements[0].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"expression": "if({value}, \u0027visible\u0027,\u0027hidden\u0027)",
"type": "expression"
}
],
@ -213,11 +265,11 @@
"props.elements[1].visibility": {
"binding": {
"config": {
"path": "view.custom.state"
"path": "view.custom.error"
},
"transforms": [
{
"expression": "if(\r\n ({value} \u003d 0 || {value} \u003d 1 || !{parent.meta.visible}),\r\n \u0027hidden\u0027,\r\n \u0027visible\u0027\r\n)",
"expression": "if({value}, \u0027visible\u0027,\u0027hidden\u0027)",
"type": "expression"
}
],
@ -231,20 +283,8 @@
},
"transforms": [
{
"fallback": "#800000",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FF0000"
},
{
"input": 0,
"output": "#000000"
}
],
"outputType": "color",
"type": "map"
"expression": "case({value},\r\n1,{session.custom.colours.state1},\r\n2,{session.custom.colours.state1},\r\n3,{session.custom.colours.state1},\r\n4,{session.custom.colours.state1},\r\n\u0027#000000\u0027\r\n)",
"type": "expression"
}
],
"type": "property"
@ -253,7 +293,7 @@
"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})"
"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": [
{
@ -405,7 +445,7 @@
},
"transforms": [
{
"expression": "case({value},\r\n0,{session.custom.colours.state5},\r\n1,{session.custom.colours.state1},\r\n{session.custom.colours.fallback}\r\n)",
"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"
}
],
@ -424,6 +464,18 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/High"
}
],
@ -441,7 +493,7 @@
},
"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)",
"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"
}
],
@ -451,7 +503,7 @@
"meta.tooltip.text": {
"binding": {
"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},\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}),\n\"Source Id: \" +{view.params.tagProps[0]} + \", Priority: Unknown, State: Unknown\")"
"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\")"
},
"type": "expr"
}
@ -459,7 +511,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_safety"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,6 +1,6 @@
{
"custom": {
"activated": false,
"activated": true,
"alarm_message": null,
"covert_mode": true,
"disconnected": false,
@ -14,8 +14,8 @@
"show_error": false,
"show_status": true,
"state": 5,
"status": 0,
"status_string": "Unknown",
"status": 1,
"status_string": "Started",
"visible_status": false
},
"params": {
@ -594,7 +594,7 @@
"meta.visible": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_buttons"
"path": "view.custom.display_icon"
},
"type": "property"
}

View File

@ -1,15 +1,21 @@
{
"custom": {
"alarm_message": null,
"covert_mode": true,
"disconnected": true,
"disconnected": false,
"display_icon": true,
"error": false,
"isMatch": 0,
"plc": "value",
"priority": 0,
"priority_string": "No Active Alarms",
"priority_string": "No active alarms",
"running": false,
"searchId": "PLC01",
"state": 0,
"state_string": "Off(Inactive)"
"searchId": "value",
"show_error": false,
"show_running": true,
"state": 5,
"state_string": "Unknown",
"visible_status": false
},
"params": {
"directionLeft": false,
@ -29,6 +35,9 @@
]
},
"propConfig": {
"custom.alarm_message": {
"persistent": true
},
"custom.covert_mode": {
"binding": {
"config": {
@ -36,7 +45,7 @@
},
"transforms": [
{
"expression": "case(\t{value},\r\n\t\t0, True,\r\n\t\t1, True,\r\n\t\t2, {session.custom.alarm_filter.show_running},\r\n\t\t3, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t4, True,\r\n\t\t5, True,\r\n\t\t6, {session.custom.alarm_filter.show_diagnostic} || {session.custom.alarm_filter.show_running},\r\n\t\t7, True,\r\n\t\t8, True,\r\n\t\t9, True,\r\n\t\t13, True,\r\n\t\t14, True,\r\n\t\tFalse )",
"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"
}
],
@ -50,14 +59,14 @@
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
"fc": "{session.custom.fc}",
"plc": "{view.custom.plc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{plc}/DCN"
},
"transforms": [
{
"expression": "!isGood({value})",
"expression": "if(isNull({value}), False, {value})",
"type": "expression"
}
],
@ -68,7 +77,31 @@
"custom.display_icon": {
"binding": {
"config": {
"expression": "{this.custom.covert_mode} \u003e 0"
"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"
},
@ -99,53 +132,21 @@
"fallback": 0,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": 0
},
{
"input": 1,
"output": 0
"output": 4
},
{
"input": 2,
"output": 0
"output": 3
},
{
"input": 3,
"output": 4
"output": 2
},
{
"input": 4,
"output": 1
},
{
"input": 5,
"output": 1
},
{
"input": 6,
"output": 4
},
{
"input": 7,
"output": 1
},
{
"input": 8,
"output": 1
},
{
"input": 9,
"output": 1
},
{
"input": 13,
"output": 1
},
{
"input": 14,
"output": 2
}
],
"outputType": "scalar",
@ -159,79 +160,41 @@
"custom.priority_string": {
"binding": {
"config": {
"path": "view.custom.state"
"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\")"
},
"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": "Diagnostic"
},
{
"input": 4,
"output": "High"
},
{
"input": 5,
"output": "High"
},
{
"input": 6,
"output": "Diagnostic"
},
{
"input": 7,
"output": "High"
},
{
"input": 8,
"output": "High"
},
{
"input": 9,
"output": "High"
},
{
"input": 13,
"output": "High"
},
{
"input": 14,
"output": "Medium"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
"type": "expr"
},
"persistent": true
},
"custom.running": {
"binding": {
"config": {
"expression": "{view.custom.state} \u003d 1"
"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": {
"binding": {
"config": {
@ -241,6 +204,36 @@
},
"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": {
"binding": {
"config": {
@ -250,12 +243,40 @@
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/ALARMST"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"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"
@ -265,7 +286,16 @@
"custom.state_string": {
"binding": {
"config": {
"expression": "case({view.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\",\r\n7, \"VFD Faulted\",\r\n8, \"Communication Fault\",\r\n9, \"E-Stop\",\r\n13,\"Encoder_Fault\",\r\n14,\"Stopped\",\r\n\"Unknown\")"
"expression": "case({view.custom.running_status},\r\n1, \"Faulted\",\r\n2, \"Stopped\",\r\n3, \"Running\",\r\n\"Unknown\")"
},
"type": "expr"
},
"persistent": true
},
"custom.visible_status": {
"binding": {
"config": {
"expression": "{view.custom.state} !\u003d 5"
},
"type": "expr"
},
@ -296,6 +326,265 @@
},
"root": {
"children": [
{
"meta": {
"name": "ErrorStatus",
"tooltip": {
"style": {
"fontSize": 16
}
}
},
"position": {
"grow": 1
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026! {view.params.directionLeft}"
},
"type": "expr"
}
},
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026! {view.params.directionLeft} \u0026\u0026 {view.custom.show_error}"
},
"type": "expr"
}
},
"props.elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours}[\"state\"+{value}] \u003d null, \r\n{session.custom.colours}[\"Fallback\"],\r\n{session.custom.colours}[\"state\"+{value}])",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"path": "view.custom.running_status"
},
"transforms": [
{
"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)",
"type": "expression"
},
{
"expression": "if({session.custom.alarm_filter.show_running},{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].stroke.width": {
"binding": {
"config": {
"expression": "if({session.custom.alarm_filter.show_running},2,0)"
},
"type": "expr"
}
},
"props.elements[2].fill": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired}, \r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#FFFFFF\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#000000\u0027,\r\n\t\t\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\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].text": {
"binding": {
"config": {
"path": "view.custom.priority"
},
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 32 2 L 62 32 L 32 62 L 2 32 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 2
},
"type": "path"
},
{
"d": "M 38 2 L 57.96 2 L 57.96 2 L 88 32 L 57.96 62 L 57.96 62 L 38 62 L 67.96 32 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000"
},
"type": "path"
},
{
"style": {
"classes": "",
"fontSize": 42,
"fontWeight": "bolder"
},
"type": "text",
"x": 20,
"y": 44.5
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "0.5 0.5 89 64"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "ErrorStatus_Left"
},
"position": {
"grow": 1
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026\u0026 {view.params.directionLeft}"
},
"type": "expr"
}
},
"position.display": {
"binding": {
"config": {
"expression": "{view.custom.display_icon} \u0026\u0026 {view.custom.error} \u0026\u0026 {view.params.directionLeft} \u0026\u0026 {view.custom.show_error}"
},
"type": "expr"
}
},
"props.elements[0].fill.paint": {
"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"
}
},
"props.elements[1].fill.paint": {
"binding": {
"config": {
"path": "view.custom.running_status"
},
"transforms": [
{
"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)",
"type": "expression"
},
{
"expression": "if({session.custom.alarm_filter.show_running},{value},{value}+\u002700\u0027)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[1].stroke.width": {
"binding": {
"config": {
"expression": "if({session.custom.alarm_filter.show_running},2,0)"
},
"type": "expr"
}
},
"props.elements[2].fill": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"expression": "if({session.custom.colours.colour_impaired}, \r\n\tcase(\t{value},\r\n\t\t\t1,\u0027#FFFFFF\u0027,\r\n\t\t\t2,\u0027#FFFFFF\u0027,\r\n\t\t\t3,\u0027#000000\u0027,\r\n\t\t\t4,\u0027#000000\u0027,\r\n\t\t\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\t\u0027#000000\u0027)\r\n\t)",
"type": "expression"
}
],
"type": "property"
}
},
"props.elements[2].text": {
"binding": {
"config": {
"path": "view.custom.priority"
},
"type": "property"
}
}
},
"props": {
"elements": [
{
"d": "M 56,2 C 66,12 76,22 86,32 76,42 66,52 56,62 46,52 36,42 26,32 36,22 46,12 56,2 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000",
"width": 2
},
"type": "path"
},
{
"d": "M 50,2 C 43.346667,2 36.693333,2 30.04,2 20.026667,12 10.013333,22 0,32 10.013333,42 20.026667,52 30.04,62 36.693333,62 43.346667,62 50,62 40.013333,52 30.026667,42 20.04,32 30.026667,22 40.013333,12 50,2 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#000000"
},
"type": "path"
},
{
"style": {
"classes": "",
"fontSize": 42,
"fontWeight": "bolder",
"textOrientation": "upright",
"writingMode": "horizontal-tb"
},
"type": "text",
"x": 44.5,
"y": 44.5
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "0.5 0.5 89 64"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "RunningStatus"
@ -307,7 +596,7 @@
"position.display": {
"binding": {
"config": {
"expression": "if(({view.custom.display_icon} || ({view.custom.show_running} \u0026\u0026 !{view.custom.show_error})) \u0026\u0026 !{view.params.directionLeft}, True, False)"
"expression": "if((({view.custom.display_icon} \u0026\u0026 !{view.custom.error}) || ({view.custom.show_running} \u0026! {view.custom.show_error})) \u0026! {view.params.directionLeft},True, False)"
},
"type": "expr"
}
@ -329,9 +618,15 @@
"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, 13, 14,\r\n \"#c2c2c2\", \"#c9fcc0\", \"#00ff11\", \"#00ffd0\", \"#ff8c00\",\r\n \"#0008ff\", \"#946446\", \"#ff0000\", \"#ff0000\", \"#ff0000\", \"#ff8c00\", \"#c2c2c2\",\r\n \"#fff700\"\r\n )\r\n)\r\n"
"path": "view.custom.running_status"
},
"type": "expr"
"transforms": [
{
"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"
}
}
},
@ -354,6 +649,71 @@
"viewBox": "-1.5 -1.5 73 63"
},
"type": "ia.shapes.svg"
},
{
"meta": {
"name": "RunningStatus_Left"
},
"position": {
"grow": 1
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if((({view.custom.display_icon} \u0026\u0026 !{view.custom.error}) || ({view.custom.show_running} \u0026! {view.custom.show_error})) \u0026\u0026 {view.params.directionLeft},True, False)"
},
"type": "expr"
}
},
"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": {
"path": "view.custom.running_status"
},
"transforms": [
{
"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"
}
}
},
"props": {
"elements": [
{
"d": "M 70,60 C 56.666667,60 43.333333,60 30,60 20,50 10,40 0,30 10,20 20,10 30,0 43.333333,0 56.666667,0 70,0 60,10 50,20 40,30 50,40 60,50 70,60 Z",
"fill": {},
"name": "path",
"stroke": {
"paint": "#4c4c4c",
"width": "2"
},
"type": "path"
}
],
"style": {
"overflow": "hidden"
},
"viewBox": "-0.5 -0.5 71 61"
},
"type": "ia.shapes.svg"
}
],
"events": {
@ -391,6 +751,20 @@
}
},
"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": {
"binding": {
"config": {
@ -403,19 +777,19 @@
"mappings": [
{
"input": 1,
"output": "Alarms-Styles/High"
"output": "Alarms-Styles/Diagnostic"
},
{
"input": 2,
"output": "Alarms-Styles/Medium"
},
{
"input": 3,
"output": "Alarms-Styles/Low"
},
{
"input": 3,
"output": "Alarms-Styles/Medium"
},
{
"input": 4,
"output": "Alarms-Styles/Diagnostic"
"output": "Alarms-Styles/High"
}
],
"outputType": "style-list",
@ -425,10 +799,24 @@
"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": {
"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"
"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\")"
},
"type": "expr"
}
@ -446,7 +834,6 @@
"config": {
"path": "view.custom.disconnected"
},
"enabled": false,
"transforms": [
{
"fallback": "",
@ -467,13 +854,74 @@
],
"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": {
"justify": "center",
"style": {
"borderColor": "#FF0000",
"borderStyle": "none",
"borderWidth": "2px",
"cursor": "pointer"
}

View File

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1920"
height="1080"
viewBox="0 0 1920 1080"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
sodipodi:docname="Station_JR_PB.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="0.427164"
inkscape:cx="1271.1745"
inkscape:cy="1049.948"
inkscape:window-width="3840"
inkscape:window-height="2054"
inkscape:window-x="-11"
inkscape:window-y="-11"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showgrid="false" />
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:3.30526"
id="rect1"
width="1660.9377"
height="267.5712"
x="141.9962"
y="388.26218" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,572 +0,0 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "System",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "device_count",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "download",
"value": "",
"tagType": "AtomicTag"
},
{
"name": "Station",
"tagType": "Folder",
"tags": [
{
"name": "Buttons",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_JR_PB1",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"name": "Start_PB",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB",
"tagType": "AtomicTag"
}
]
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "Pressed"
}
],
"tagGroup": "Alarm",
"name": "Pressed",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "UL1_3_JR_PB2",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"alarms": [
{
"setpointA": 1.0,
"name": "Pressed"
}
],
"tagGroup": "Alarm",
"name": "Pressed",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
}
]
},
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"name": "Start_PB",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "EPC",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_EPC2",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Stopped",
"tagType": "AtomicTag"
},
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Pressed",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"name": "Start_PB",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "UL1_3_EPC1",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Pressed",
"tagType": "AtomicTag"
},
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
}
]
},
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"name": "Stop_PB",
"tagType": "AtomicTag"
},
{
"name": "Start_PB",
"tagType": "AtomicTag"
}
]
}
]
}
]
}
]
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "close_socket",
"value": true,
"tagType": "AtomicTag"
},
{
"name": "Conveyor",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_VFD1",
"typeId": "TagProp",
"tagType": "UdtInstance",
"tags": [
{
"name": "ALARMST",
"tagType": "AtomicTag"
},
{
"value": 3,
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "DCN",
"tagType": "AtomicTag"
}
]
}
]
},
{
"valueSource": "memory",
"dataType": "String",
"name": "IdToStatus",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_running",
"value": true,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_logging",
"value": false,
"tagGroup": "Default",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "thread_id",
"value": "5610",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "DateTime",
"name": "wbsckt_heartbeat_interval",
"value": 1749560917384,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws_data",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "wbsckt_messages_send",
"value": "{\"message_list\":[]}",
"tagType": "AtomicTag"
}
]
},
{
"name": "Configuration",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "BACKEND_EDGE_DEVICE",
"value": "quattro",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "PLC",
"value": "{ \"MCM07\": { \"Area\": \"Bypass\", \"SubArea\": \"\" }, \t\"MCM06\": { \"Area\": \"Non Con Sorters\", \"SubArea\": \"\" }, \t\"MCM05\": { \"Area\": \"North Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM04\": { \"Area\": \"South Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM03\": { \"Area\": \"Non Con Merge\", \"SubArea\": \"\" }, \t\"MCM02\": { \"Area\": \"Fluid Inbound Merges 5-7\", \"SubArea\": \"\" }, \t\"MCM01\": { \"Area\": \"Fluid Inbound Merges 1-4\", \"SubArea\": \"\" } }",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws",
"value": "{\"prefix\":\"na\",\"region\":\"us-east-1\"}",
"tagType": "AtomicTag"
},
{
"valueSource": "reference",
"dataType": "String",
"sourceTagPath": "[System]Gateway/SystemName",
"name": "SystemName",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "SiteLatLng",
"value": "{\"lat\":40.19567891533845, \"lng\":-74.56542081870408}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "FC",
"alarmEvalEnabled": false,
"value": "MTN6_SIMULATION",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "DetailedViews",
"value": "{ \"MCM07 Bypass\": [ \"MCM07\" ], \t\"MCM06 Non Con\": [ \"MCM06\" ],\t \t\"MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM05\" ],\t \t\"MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM04\" ], \t\"MCM03 Non Con\": [ \"MCM03\" ], \t\"MCM02 Fluid Inbound Merges 5-7\": [ \"MCM02\" ], \t\"MCM01 Fluid Inbound Merges 1-4\": [ \"MCM01\" ]}",
"tagType": "AtomicTag"
}
]
},
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "TagProp",
"tagType": "UdtType",
"tags": [
{
"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.ALARMST"
},
"valueSource": "opc",
"name": "ALARMST",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.DISC"
},
"valueSource": "opc",
"name": "DCN",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"name": "Station",
"tagType": "UdtType",
"tags": [
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Start_PB"
},
"valueSource": "opc",
"name": "Start_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Maintenance.Stop_PB"
},
"valueSource": "opc",
"name": "Stop_PB",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Pressed"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Pressed",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Stopped"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Stopped",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStopped"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Estopped",
"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": "Latency",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "avg_latency",
"value": "",
"tagType": "AtomicTag"
},
{
"valueSource": "reference",
"dataType": "String",
"sourceTagPath": "[~]System/aws_data.value",
"name": "aws_data_copy",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "first_pass",
"value": true,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "DateTime",
"name": "last_alarm_change_ts",
"formatString": "yyyy-MM-dd h:mm:ss aa",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "prev_key",
"value": "",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "StringArray",
"name": "rolling_latency",
"alarmEvalEnabled": true,
"value": [
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"tagType": "AtomicTag"
}
]
}
]
}

View File

@ -1,755 +0,0 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "Latency",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "StringArray",
"name": "rolling_latency",
"alarmEvalEnabled": true,
"value": [
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "first_pass",
"value": true,
"tagType": "AtomicTag"
},
{
"valueSource": "reference",
"dataType": "String",
"sourceTagPath": "[~]System/aws_data.value",
"name": "aws_data_copy",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "prev_key",
"value": "",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "DateTime",
"name": "last_alarm_change_ts",
"formatString": "yyyy-MM-dd h:mm:ss aa",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "avg_latency",
"value": "",
"tagType": "AtomicTag"
}
]
},
{
"name": "Configuration",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "SiteLatLng",
"value": "{\"lat\":40.19567891533845, \"lng\":-74.56542081870408}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "PLC",
"value": "{ \"MCM07\": { \"Area\": \"Bypass\", \"SubArea\": \"\" }, \t\"MCM06\": { \"Area\": \"Non Con Sorters\", \"SubArea\": \"\" }, \t\"MCM05\": { \"Area\": \"North Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM04\": { \"Area\": \"South Bulk Inbound, Fluid Outbound and Problem Solve\", \"SubArea\": \"\" }, \t\"MCM03\": { \"Area\": \"Non Con Merge\", \"SubArea\": \"\" }, \t\"MCM02\": { \"Area\": \"Fluid Inbound Merges 5-7\", \"SubArea\": \"\" }, \t\"MCM01\": { \"Area\": \"Fluid Inbound Merges 1-4\", \"SubArea\": \"\" } }",
"tagType": "AtomicTag"
},
{
"valueSource": "reference",
"dataType": "String",
"sourceTagPath": "[System]Gateway/SystemName",
"name": "SystemName",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws",
"value": "{\"prefix\":\"na\",\"region\":\"us-east-1\"}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "FC",
"alarmEvalEnabled": false,
"value": "MTN6_SIMULATION",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "DetailedViews",
"value": "{ \"MCM07 Bypass\": [ \"MCM07\" ], \t\"MCM06 Non Con\": [ \"MCM06\" ],\t \t\"MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM05\" ],\t \t\"MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\": [ \"MCM04\" ], \t\"MCM03 Non Con\": [ \"MCM03\" ], \t\"MCM02 Fluid Inbound Merges 5-7\": [ \"MCM02\" ], \t\"MCM01 Fluid Inbound Merges 1-4\": [ \"MCM01\" ]}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "BACKEND_EDGE_DEVICE",
"value": "quattro",
"tagType": "AtomicTag"
}
]
},
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "TagProp",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "{InstanceName}.Disconnected"
},
"valueSource": "opc",
"name": "Disconnected",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.ALARMST"
},
"valueSource": "opc",
"name": "ALARMST",
"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.DISC"
},
"valueSource": "opc",
"name": "DCN",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
},
{
"name": "Conveyor",
"tagType": "UdtType",
"tags": [
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Jog_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Maintenance_Mode",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Direction_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Bypass_PB",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Direction_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Stop_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Jog_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Stop_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Start_PB_Pressed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Bypass_PB_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Conveyor_Run_LT",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Speed",
"tagType": "AtomicTag"
}
]
},
{
"valueSource": "memory",
"name": "FPM",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Last_VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Speed",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Voltage",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Amperage",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"name": "Alarms",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Disconnected",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "VFD_Fault",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Communication_Fault",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "VFD_Reset_Required",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Communication_Fault_Reset_Required",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "Safe_Off_Fault",
"tagType": "AtomicTag"
}
]
},
{
"valueSource": "memory",
"name": "STATE",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Communication_Fault)Code",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Frequenncy",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Power_Save_Time",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"name": "Speed_At_60Hz",
"tagType": "AtomicTag"
}
]
},
{
"name": "Station",
"tagType": "UdtType",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.Stopped"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Stopped",
"tagType": "AtomicTag",
"opcServer": "PLC"
},
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.Alarm.EStopped"
},
"valueSource": "opc",
"dataType": "Boolean",
"name": "Estopped",
"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": "System",
"tagType": "Folder",
"tags": [
{
"valueSource": "memory",
"dataType": "String",
"name": "download",
"value": "",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "wbsckt_messages_send",
"value": "{\"message_list\":[{\"action\":\"pageview\",\"parameters\":{\"siteId\":\"MTN6_SIMULATION\",\"sessionId\":\"bd3d002d-ce53-4953-a26d-14c9290a8d90\",\"pageId\":\"Home\",\"timestamp\":1749137391093}}]}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "device_count",
"value": "{}",
"tagType": "AtomicTag"
},
{
"name": "Station",
"tagType": "Folder",
"tags": [
{
"name": "EPC",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_EPC2",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "UL1_3_EPC1",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Estopped",
"tagType": "AtomicTag"
},
{
"name": "Stopped",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "JR",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_JR_PB2",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Stopped",
"tagType": "AtomicTag"
},
{
"name": "Estopped",
"tagType": "AtomicTag"
}
]
},
{
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "UL1_3_JR_PB1",
"typeId": "Station",
"tagType": "UdtInstance",
"tags": [
{
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarm",
"tagType": "Folder",
"tags": [
{
"name": "Stopped",
"tagType": "AtomicTag"
},
{
"name": "Estopped",
"tagType": "AtomicTag"
}
]
}
]
}
]
}
]
},
{
"valueSource": "memory",
"dataType": "String",
"name": "IdToStatus",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_logging",
"value": false,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "thread_id",
"value": "1374",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "String",
"name": "aws_data",
"value": "{}",
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "close_socket",
"value": true,
"tagType": "AtomicTag"
},
{
"name": "Conveyor",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_VFD1",
"typeId": "Conveyor",
"tagType": "UdtInstance",
"tags": [
{
"name": "Voltage",
"tagType": "AtomicTag"
},
{
"name": "Speed_At_60Hz",
"tagType": "AtomicTag"
},
{
"name": "Last_VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"name": "Maintenance",
"tagType": "Folder",
"tags": [
{
"name": "Maintenance_Mode",
"tagType": "AtomicTag"
},
{
"name": "Speed",
"tagType": "AtomicTag"
},
{
"name": "Stop_LT",
"tagType": "AtomicTag"
},
{
"name": "Bypass_PB_LT",
"tagType": "AtomicTag"
},
{
"name": "Conveyor_Run_LT",
"tagType": "AtomicTag"
},
{
"name": "Direction_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Bypass_PB",
"tagType": "AtomicTag"
},
{
"name": "Start_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Stop_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Jog_PB_Pressed",
"tagType": "AtomicTag"
},
{
"name": "Jog_LT",
"tagType": "AtomicTag"
},
{
"name": "Direction_LT",
"tagType": "AtomicTag"
}
]
},
{
"name": "Speed",
"tagType": "AtomicTag"
},
{
"name": "Amperage",
"tagType": "AtomicTag"
},
{
"name": "Frequenncy",
"tagType": "AtomicTag"
},
{
"name": "Communication_Fault)Code",
"tagType": "AtomicTag"
},
{
"name": "Power_Save_Time",
"tagType": "AtomicTag"
},
{
"value": 14,
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "Alarms",
"tagType": "Folder",
"tags": [
{
"name": "Communication_Fault",
"tagType": "AtomicTag"
},
{
"name": "Safe_Off_Fault",
"tagType": "AtomicTag"
},
{
"name": "VFD_Fault",
"tagType": "AtomicTag"
},
{
"name": "Communication_Fault_Reset_Required",
"tagType": "AtomicTag"
},
{
"name": "VFD_Reset_Required",
"tagType": "AtomicTag"
},
{
"name": "Disconnected",
"tagType": "AtomicTag"
}
]
},
{
"name": "VFD_Fault_Code",
"tagType": "AtomicTag"
},
{
"name": "FPM",
"tagType": "AtomicTag"
}
]
}
]
},
{
"valueSource": "memory",
"dataType": "DateTime",
"name": "wbsckt_heartbeat_interval",
"value": 1749226171073,
"tagType": "AtomicTag"
},
{
"valueSource": "memory",
"dataType": "Boolean",
"name": "wbsckt_running",
"value": true,
"tagType": "AtomicTag"
}
]
}
]
}

127
tags/Simulation_tags.json Normal file
View File

@ -0,0 +1,127 @@
{
"name": "",
"tagType": "Provider",
"tags": [
{
"name": "_types_",
"tagType": "Folder",
"tags": [
{
"name": "TagProp",
"tagType": "UdtType",
"tags": [
{
"opcItemPath": {
"bindType": "parameter",
"binding": "ns\u003d1;s\u003d[PLC]{InstanceName}.HMI.ALARMST"
},
"valueSource": "opc",
"name": "ALARMST",
"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.DISC"
},
"valueSource": "opc",
"name": "DCN",
"tagType": "AtomicTag",
"opcServer": "PLC"
}
]
}
]
},
{
"name": "System",
"tagType": "Folder",
"tags": [
{
"name": "Buttons",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_JR_PB2",
"typeId": "TagProp",
"tagType": "UdtInstance",
"tags": [
{
"name": "ALARMST",
"tagType": "AtomicTag"
},
{
"name": "DCN",
"tagType": "AtomicTag"
},
{
"value": 1,
"name": "STATE",
"tagType": "AtomicTag"
}
]
},
{
"name": "UL1_3_JR_PB1",
"typeId": "TagProp",
"tagType": "UdtInstance",
"tags": [
{
"value": 1,
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "DCN",
"tagType": "AtomicTag"
},
{
"value": 0,
"name": "ALARMST",
"tagType": "AtomicTag"
}
]
}
]
},
{
"name": "Conveyor",
"tagType": "Folder",
"tags": [
{
"name": "UL1_3_VFD1",
"typeId": "TagProp",
"tagType": "UdtInstance",
"tags": [
{
"value": 3,
"name": "STATE",
"tagType": "AtomicTag"
},
{
"name": "DCN",
"tagType": "AtomicTag"
},
{
"name": "ALARMST",
"tagType": "AtomicTag"
}
]
}
]
}
]
}
]
}